国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

從頭創建 Visual Basic .NET 控件 (4)

從頭創建 Visual Basic .NET 控件 (4)

更新時間:2019-11-23 文章作者:未知 信息來源:網絡 閱讀次數:

第 3 步:實現屬性和事件
要實現 Status 屬性,首先要為可能的屬性值創建枚舉。將以下幾行插入以 Inherits 開始的行下面:

Public Enum TrafficLightStatus
statusRed = 1
statusYellow = 2
statusGreen = 3
End Enum

此枚舉是公開的,也就是說使用該控件的窗體可以訪問它。

在這些行下面添加以下三行:

Dim mStatus As TrafficLightStatus = TrafficLightStatus.statusGreen
Dim msngBorderWidth As Single = 1.0!
Public Event StatusChanged(ByVal NewStatus As TrafficLightStatus)

前兩行中的兩個變量可用于存儲 Status 和 BorderWidth 屬性的屬性值,還為這些屬性設置了默認值。保存 BorderWidth 的變量必須為 Single 類型,因為它是繪制邊框所用的圖形語句需要的類型。默認值中的驚嘆號也表明它是 Single 類型。此集合中的最后一行聲明了 StatusChanged 事件。

現在,我們為 BorderWidth 屬性編寫代碼。在標記為 Windows Form Designer Generated Code(Windows 窗體設計器生成的代碼)的代碼區域下插入以下行:

<DefaultValue(1.0!), _
Description("紅綠燈周圍邊框的寬度")> _
Public Property BorderWidth() As Single
Get
Return msngBorderWidth
End Get
Set(ByVal Value As Single)
If msngBorderWidth <> Value Then
msngBorderWidth = Value
Me.Invalidate()
End If
End Set
End Property

前兩行包括使該屬性更好地使用 IDE 的屬性。DefaultValue 特性允許在 Properties(屬性)窗口中將屬性值重置為默認值(操作步驟稍后介紹)。Description 特性提供選中該屬性時在 Properties(屬性)窗口底部顯示的文本。

DefaultValue 特性還有一個技巧。如果將 TrafficLight 控件放到窗體上,并保留 BorderWidth 屬性的默認值,那么窗體設計器將不生成設置屬性值的代碼行。這使它與其他 Windows 窗體控件沒有什么區別。如果您查看典型控件(如 TextBox)的設計器生成的代碼,您會發現只包括設置為非默認值的屬性的代碼行。我們賦予 TrafficLight 控件同樣的能力。

Property Get 簡單明了。Property Set 子句包括可視控件屬性中常見的邏輯。設置屬性時,重要的是在新屬性值更改控件的外觀時要能夠重新繪制控件。因此,Set 子句負責確定傳遞的新值是否與屬性中現有的值不相同。如果相同,則不執行操作。如果不同,則接受新值,然后訪問控件的 Invalidate 方法。此方法表明,控件的可視區域已過期,控件需要重新繪制。

Status 屬性的處理有些不同,因為它是枚舉值。DefaultValue 特性沒有為枚舉屬性提供自動重置能力。在這種情況下,DefaultValue 也無法告訴設計器何時停止設置屬性值的代碼。因此,Status 屬性的實現中不需要 DefaultValue 特性。下面是 Status 屬性的代碼:

<Description("紅綠燈的狀態(顏色)")> _
Public Property Status() As TrafficLightStatus
Get
Status = mStatus
End Get
Set(ByVal Value As TrafficLightStatus)
If mStatus <> Value Then
mStatus = Value
RaiseEvent StatusChanged(mStatus)
Me.Invalidate()
End If
End Set
End Property

看起來與 BorderWidth 屬性的實現類似,只有一點不同:當 Status 屬性發生改變時,除了強制重新繪制控件外,還會觸發 StatusChanged 事件。

要在 Properties(屬性)窗口中處理屬性的自動重置,我們需要使用一種特殊的方法。由于我們的屬性命名為 Status,因此必須將重置方法命名為 ResetStatus。重置方法只是恢復屬性的默認值。以下是其代碼:

Public Sub ResetStatus()
Me.Status = TrafficLightStatus.statusGreen
End Sub

為了提示設計器何時需要包括一行代碼以便設置 Status 屬性,我們需要包括一個名為 ShouldSerializeStatus 的方法。當屬性需要一行代碼時,此方法返回布爾值 True,否則,則返回 False。以下是其代碼:

Public Function ShouldSerializeStatus() As Boolean
If mStatus = TrafficLightStatus.statusGreen Then
Return False
Else
Return True
End If
End Function

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        欧美视频完全免费看| 日本一不卡视频| 17c精品麻豆一区二区免费| a级精品国产片在线观看| wwwwxxxxx欧美| 国产成人精品午夜视频免费| 久久伊99综合婷婷久久伊| 国产成人久久精品77777最新版本| 精品国偷自产国产一区| yourporn久久国产精品| 亚洲国产日韩综合久久精品| 91麻豆精品国产自产在线观看一区 | 国产精品一区二区果冻传媒| 国产女人aaa级久久久级| 91视频免费看| 久久国产综合精品| 亚洲天堂精品视频| 欧美v日韩v国产v| 一本色道久久综合亚洲91| 日韩和欧美一区二区三区| 久久精品视频在线免费观看| 欧美在线制服丝袜| 粗大黑人巨茎大战欧美成人| 天天影视涩香欲综合网| 国产拍欧美日韩视频二区| 在线精品亚洲一区二区不卡| 捆绑调教一区二区三区| 国产精品对白交换视频| 日韩一区二区在线观看视频| 91猫先生在线| 国产精品一区二区三区乱码| 亚洲视频你懂的| 精品国产乱码久久久久久影片| 色婷婷精品大在线视频| 国产91在线看| 男女视频一区二区| 综合在线观看色| 久久夜色精品国产噜噜av| 欧美精品一二三| 欧美吻胸吃奶大尺度电影 | 一区二区三区久久久| 国产亚洲欧洲997久久综合| 欧美日韩在线播放| 色婷婷av一区二区三区gif| 国产成人午夜视频| 狠狠色丁香久久婷婷综合丁香| 亚洲va天堂va国产va久| 自拍偷拍国产亚洲| 日本一区二区视频在线| 久久综合九色综合97婷婷女人| 欧美高清视频不卡网| 色婷婷国产精品综合在线观看| 国产成人免费视频网站| 顶级嫩模精品视频在线看| 国产精品一级在线| 成人自拍视频在线观看| 国产成人在线网站| 成人精品在线视频观看| 大胆欧美人体老妇| 99天天综合性| 97成人超碰视| 欧洲亚洲精品在线| 欧美日韩在线播放三区| 欧美另类高清zo欧美| 在线观看91精品国产麻豆| 日韩午夜在线观看视频| 337p日本欧洲亚洲大胆精品| 久久久久国产精品麻豆ai换脸| 久久综合九色综合欧美98 | 欧美三级三级三级| 欧美日韩一区二区在线观看| 欧美日韩一级二级| 欧美视频一区二区三区四区| 欧美剧情片在线观看| 日韩欧美精品在线| 久久久午夜电影| 中文字幕一区av| 午夜精品久久久久久久99樱桃| 日韩高清不卡一区| 国产成人在线视频免费播放| 91麻豆国产福利精品| 欧美伦理影视网| 国产免费久久精品| 亚洲高清久久久| 国产成人午夜高潮毛片| 在线观看www91| 久久久亚洲高清| 亚洲国产精品视频| 成人永久aaa| 欧美一区二区三区精品| 中文字幕中文在线不卡住| 亚洲gay无套男同| 国产91精品免费| 777奇米四色成人影色区| 欧美国产欧美亚州国产日韩mv天天看完整| 中文字幕一区三区| 国产一区欧美日韩| 欧美日韩成人综合| 综合自拍亚洲综合图不卡区| 美国十次综合导航| 欧美影院一区二区| 欧美激情在线一区二区三区| 午夜久久久影院| 91在线精品一区二区| 欧美成人r级一区二区三区| 亚洲欧美电影院| 国产精华液一区二区三区| 欧美视频一区二区三区在线观看| 国产日韩综合av| 免费成人在线观看| 欧美在线观看一区二区| 国产精品国产三级国产| 国产馆精品极品| 日韩久久久久久| 美女性感视频久久| 精品1区2区3区| 亚洲美女免费视频| 国产成人综合精品三级| 精品三级av在线| 免费人成在线不卡| 69精品人人人人| 婷婷久久综合九色综合伊人色| 色偷偷一区二区三区| 国产精品成人一区二区三区夜夜夜 | 中文字幕一区三区| 丁香另类激情小说| 国产精品无码永久免费888| 国产mv日韩mv欧美| 国产日韩在线不卡| 成人中文字幕在线| 国产精品国产三级国产普通话99 | 日本不卡免费在线视频| 91九色02白丝porn| 怡红院av一区二区三区| 91福利视频久久久久| 夜夜精品视频一区二区| 欧美日韩在线观看一区二区 | 激情五月播播久久久精品| 日韩午夜在线影院| 黑人巨大精品欧美黑白配亚洲| 日韩欧美的一区| 国产精品18久久久久久久久 | 成人免费观看视频| 久久久综合九色合综国产精品| 国产高清成人在线| 国产精品嫩草影院com| 99久久国产综合精品女不卡| 一区二区三区成人| 欧美精品久久久久久久久老牛影院 | 国产成人精品1024| 中文字幕在线观看一区| 在线亚洲免费视频| 日韩av午夜在线观看| www一区二区| 91视频91自| 日本va欧美va欧美va精品| 久久网站热最新地址| jvid福利写真一区二区三区| 亚洲国产精品影院| 337p日本欧洲亚洲大胆色噜噜| 东方aⅴ免费观看久久av| 伊人性伊人情综合网| 精品国产一区二区亚洲人成毛片| 成人福利视频网站| 欧美a一区二区| 亚洲欧美综合色| 日韩一级大片在线观看| 成人av网站免费| 麻豆高清免费国产一区| 国产精品天美传媒沈樵| 69精品人人人人| 成人精品小蝌蚪| 免费看欧美女人艹b| 亚洲色图第一区| xnxx国产精品| 在线不卡的av| 色综合天天综合在线视频| 国产原创一区二区| 香港成人在线视频| 亚洲免费av高清| 欧美激情综合在线| 日韩一区二区三区电影在线观看 | youjizz国产精品| 精品一区中文字幕| 亚洲一区二区五区| 日韩一区在线免费观看| 精品奇米国产一区二区三区| 欧美专区日韩专区| 91伊人久久大香线蕉| 国产精品小仙女| 国内欧美视频一区二区| 青娱乐精品视频| 天堂va蜜桃一区二区三区| 一区二区三区欧美日韩| 国产精品久久久久一区| 国产丝袜美腿一区二区三区| 日韩女优视频免费观看| 日韩一卡二卡三卡国产欧美| 欧美精品日韩综合在线| 欧美三级韩国三级日本三斤|