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

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

充分運用 .NET 框架的 PropertyGrid 控件(微軟)之8

充分運用 .NET 框架的 PropertyGrid 控件(微軟)之8

更新時間:2022-04-26 文章作者:未知 信息來源:網絡 閱讀次數:

添加域列表和簡單的下拉列表屬性支持
對于基于 Enum 類型返回枚舉的屬性,PropertyGrid 會自動在下拉列表中顯示枚舉值。EnumConverter 也提供了這一功能。對于自己的屬性,您可能希望為用戶提供一個有效值列表(有時也稱為選取列表或域列表),而其類型并不是基于 Enum。如果域值在運行時之前未知,或者值可以更改,則屬于這種情況。

修改選項窗口,提供一個用戶可從中選擇的默認文件名的域列表。您已經將 DefaultFileName 屬性添加到 AppSettings 類。下一步是在 PropertyGrid 中顯示屬性的下拉列表,以提供域列表。

提供簡單的下拉列表屬性支持
創建一個從類型轉換器類繼承而來的類。由于 DefaultFileName 屬性屬于 String 類型,因此可以從 StringConverter 中繼承。如果屬性類型的類型轉換器不存在,則可以從 TypeConverter 繼承;這里并不需要。
' Visual Basic

Public Class FileNameConverter
Inherits StringConverter
End Class

覆蓋 GetStandardValuesSupported 方法并返回 true,表示此對象支持可以從列表中選取的一組標準值。
' Visual Basic

Public Overloads Overrides Function GetStandardValuesSupported( _
ByVal context As ITypeDescriptorContext) As Boolean
Return True
End Function

覆蓋 GetStandardValues 方法并返回填充了標準值的 StandardValuesCollection。創建 StandardValuesCollection 的方法之一是在構造函數中提供一個值數組。對于選項窗口應用程序,您可以使用填充了建議的默認文件名的 String 數組。
' Visual Basic

Public Overloads Overrides Function GetStandardValues( _
 ByVal context As ITypeDescriptorContext) _
As StandardValuesCollection

Return New StandardValuesCollection(New String() {"新文件", _
"文件1", _
"文檔1"})
End Function

(可選)如果希望用戶能夠鍵入下拉列表中沒有包含的值,請覆蓋 GetStandardValuesExclusive 方法并返回 false。這從根本上將下拉列表樣式變成了組合框樣式。
' Visual Basic

Public Overloads Overrides Function GetStandardValuesExclusive( _
 ByVal context As ITypeDescriptorContext) As Boolean
Return False
End Function

擁有自己的用于顯示下拉列表的類型轉換器類后,您需要確定使用該類的目標。在本示例中,目標為 DefaultFileName 屬性,因為類型轉換器是針對該屬性的。將 TypeConverterAttribute 應用到目標屬性中。
' Visual Basic

' 應用到 DefaultFileName 屬性的 TypeConverter 特性。
<TypeConverter(GetType(FileNameConverter)), _
CategoryAttribute("文檔設置")> _
Public Property DefaultFileName() As String
Get
Return _defaultFileName
End Get
Set(ByVal Value As String)
_defaultFileName = Value
End Set
End Property

再次編譯并運行選項窗口應用程序。下面的屏幕快照顯示了選項窗口目前的外觀。請注意 DefaultFileName 屬性的外觀。

圖 7:在 PropertyGrid 中顯示下拉域列表

為屬性提供自定義 UI
如上所述,.NET 框架類型使用 TypeConverter 和 UITypeEditor 類(以及其他類)來提供 PropertyGrid 編輯支持。有關如何使用 TypeConverter,請參閱對自定義類型的支持一節;您也可以使用 UITypeEditor 類來自定義 PropertyGrid。

您可以在 PropertyGrid 中提供小圖形表示和屬性值,類似于為 Image 和 Color 類提供的內容。要在自定義中執行此操作,請從 UITypeEditor 繼承,覆蓋 GetPaintValueSupported 并返回 true。然后,覆蓋 UITypeEditor.PaintValue 方法,并在自己的方法中使用 PaintValueEventArgs.Graphics 參數繪制圖形。最后,將 Editor 特性應用到使用 UITypeEditor 類的類或屬性。

下面的屏幕快照顯示了結果外觀。

圖 8:在 PropertyGrid 中顯示屬性的自定義圖形

您也可以提供自己的下拉列表控件,這與 Control.Dock 屬性用來為用戶提供靠接選擇的控件類似。要執行此操作,請從 UITypeEditor 繼承,覆蓋 GetEditStyle,然后返回一個 UITypeEditorEditStyle 枚舉值,例如 DropDown。您的自定義下拉列表控件必須從 Control 或 Control 的派生類(例如 UserControl)繼承而來。然后,覆蓋 UITypeEditor.EditValue 方法。使用 IServiceProvider 參數調用 IServiceProvider.GetService 方法,以獲取一個 IWindowsFormsEditorService 實例。最后,調用 IWindowsFormsEditorService.DropDownControl 方法來顯示您的自定義下拉列表控件。請記住將 Editor 特性應用到使用 UITypeEditor 類的類或屬性中。

下面的屏幕快照顯示了結果外觀。

圖 9:在 PropertyGrid 中顯示屬性的自定義下拉列表控件

除了使用 TypeEditor 和 UITypeEditor 類外,還可以自定義 PropertyGrid 以顯示其他屬性選項卡。屬性選項卡從 PropertyTab 類繼承而來。如果您使用過 Microsoft Visual C#™ .NET 中的屬性瀏覽器,那么就可能看到過自定義的 PropertyTab。Events 選項卡(帶有閃電圖形的按鈕)就是一個自定義的 PropertyTab。下面的屏幕快照顯示了自定義 PropertyTab 的另一個示例。可以使用 PropertyTab 編輯按鈕的邊界點,以創建自定義的按鈕形狀。

圖 10:在 PropertyGrid 中顯示自定義選項卡

有關使用 UITypeEditor 類自定義 PropertyGrid 的詳細信息,以及上述自定義用戶界面代碼示例,請參閱 Shawn Burke 的文章 Make Your Components Really RAD with Visual Studio .NET Property Browser(英文)。

小結
.NET 框架提供的 ProperyGrid 控件具有豐富的編輯功能,您可以使用這些編輯功能來改善您的用戶界面。PropertyGrid 的自定義非常簡單,您可以在任何應用程序中使用這一控件。此外,由于 Visual Studio .NET 屬性瀏覽器是建立在 PropertyGrid 的基礎之上的,因此您可以使用這些技術提供更豐富的設計時體驗。

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

本類教程下載

系統下載排行

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

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

        欧美一区中文字幕| 午夜欧美一区二区三区在线播放| 久久久三级国产网站| 日本不卡一区二区三区高清视频| 色噜噜狠狠色综合欧洲selulu| 亚洲欧洲三级电影| 91视频免费观看| 中文字幕日韩一区二区| 91在线小视频| 亚洲一区二区影院| 欧美日韩国产片| 日本aⅴ免费视频一区二区三区| 欧美一区二区视频在线观看2022| 卡一卡二国产精品| 久久久美女毛片| 北条麻妃一区二区三区| 亚洲最大的成人av| 51精品秘密在线观看| 韩国精品一区二区| 最新国产の精品合集bt伙计| 欧美性感一区二区三区| 蜜桃视频第一区免费观看| 久久久91精品国产一区二区精品| 99这里只有精品| 日韩成人av影视| 欧美国产视频在线| 在线看国产一区二区| 激情丁香综合五月| 亚洲欧美日本韩国| 日韩欧美一区在线| 91在线免费看| 久久99国产精品麻豆| 亚洲视频每日更新| 精品国产乱码久久久久久免费| av电影天堂一区二区在线| 亚洲mv大片欧洲mv大片精品| 久久女同精品一区二区| 欧美在线观看一二区| 国产精选一区二区三区| 亚洲一二三四区不卡| 国产欧美一二三区| 欧美一区二区三区视频在线| 成人精品国产福利| 久久黄色级2电影| 亚洲精品国产一区二区精华液 | 国产精品短视频| 欧美久久久久免费| av电影在线观看一区| 国产美女娇喘av呻吟久久| 亚洲一区在线观看免费| 亚洲国产精品ⅴa在线观看| 日韩一二三区不卡| 欧美日韩一区二区三区免费看 | 亚洲色图制服诱惑 | 欧美日韩一本到| 99在线热播精品免费| 国产一区二区三区| 久久精品理论片| 秋霞电影网一区二区| 亚洲不卡av一区二区三区| 亚洲视频在线观看一区| 亚洲国产高清aⅴ视频| 精品日韩一区二区三区 | 欧美精品一二三| 91久久国产综合久久| 不卡在线观看av| 成人一区在线观看| 国产成人精品一区二区三区四区| 激情丁香综合五月| 国产在线精品一区二区夜色| 久久66热re国产| 久草中文综合在线| 久久精品72免费观看| 久久精品国产一区二区| 精品一区二区三区免费视频| 国产一区二区在线观看免费| 国产精品一二三区| 成人av在线观| 91官网在线观看| 精品视频999| 精品国精品自拍自在线| 中文字幕 久热精品 视频在线 | 免费日韩伦理电影| 捆绑调教一区二区三区| 国产一区二区在线看| av在线一区二区| 欧美又粗又大又爽| 日韩一级在线观看| 中文字幕不卡三区| 亚洲成精国产精品女| 国产精品系列在线观看| av电影在线观看完整版一区二区| 在线亚洲高清视频| 欧美日韩一区二区在线观看 | 日韩欧美国产一二三区| 久久久久国产精品麻豆ai换脸| 中文字幕乱码亚洲精品一区| 中文字幕一区二区三| 一区二区三区四区蜜桃| 日本免费新一区视频| av动漫一区二区| 51久久夜色精品国产麻豆| 久久久久久久久久久久久久久99| 亚洲欧洲成人自拍| 蜜桃一区二区三区在线观看| 成人ar影院免费观看视频| 欧美精选午夜久久久乱码6080| 久久久www成人免费毛片麻豆| 亚洲欧美色一区| 麻豆成人av在线| 一本久久精品一区二区| 精品国精品国产| 亚洲观看高清完整版在线观看| 免费av网站大全久久| 99精品视频一区二区三区| 7777精品伊人久久久大香线蕉最新版 | 欧美一区二区免费视频| 精品国产欧美一区二区| 久久久久亚洲蜜桃| 亚洲国产一区视频| 国产成人免费9x9x人网站视频| 精品视频1区2区3区| 亚洲欧美日韩中文字幕一区二区三区 | 国产大陆精品国产| 欧美午夜精品理论片a级按摩| 日韩欧美一区在线| 夜夜嗨av一区二区三区网页| 国产精品一区二区在线观看不卡| 欧美日韩成人一区| 亚洲狠狠丁香婷婷综合久久久| 成人丝袜视频网| 精品日韩成人av| 日韩和欧美一区二区| 精品视频一区二区三区免费| 亚洲激情在线激情| 91浏览器在线视频| 成人免费视频在线观看| 成人v精品蜜桃久久一区| 国产日产精品一区| 国产成人午夜片在线观看高清观看| 欧美一激情一区二区三区| 亚洲va天堂va国产va久| 欧美一区二区三区在线电影 | 日韩国产在线一| 欧美美女一区二区三区| 亚洲成av人片观看| 欧美大片在线观看| 精品一区二区三区免费播放| 日韩欧美中文字幕精品| 精品一区二区免费在线观看| 精品国精品国产| 国产成人亚洲综合色影视| 中文子幕无线码一区tr| 91小视频免费观看| 一级精品视频在线观看宜春院 | 国产精品99久久久久久久女警 | 国产在线精品一区二区不卡了 | 欧美激情一区三区| 99国产精品国产精品久久| 亚洲精品免费播放| 欧美一区二区在线播放| 国内精品久久久久影院薰衣草| 国产色婷婷亚洲99精品小说| 99久久精品免费看国产免费软件| 亚洲精品免费一二三区| 欧美一卡二卡在线观看| 高清不卡一区二区在线| 亚洲精品国产第一综合99久久| 欧美电影在线免费观看| 国产中文一区二区三区| 亚洲欧美一区二区在线观看| 91丝袜高跟美女视频| 日韩高清在线不卡| 国产精品天干天干在线综合| 欧美性猛交一区二区三区精品 | 亚洲一区在线观看视频| 精品国产三级电影在线观看| 成人精品一区二区三区四区| 亚洲一区二区三区四区五区黄| 亚洲综合色成人| 精品成人佐山爱一区二区| 91蝌蚪国产九色| 激情综合网激情| 亚洲免费毛片网站| 久久蜜桃香蕉精品一区二区三区| 日本久久一区二区| 国产一区二区免费在线| 亚洲成人精品一区| 国产午夜精品福利| 欧美精品三级日韩久久| 9i在线看片成人免费| 久久99精品国产麻豆婷婷| 亚洲国产一区视频| 国产精品国产成人国产三级| 日韩精品自拍偷拍| 欧美午夜电影一区| 91最新地址在线播放| 福利91精品一区二区三区| 日韩精品亚洲一区二区三区免费| 亚洲视频中文字幕|