国产午夜成人免费看片无遮挡_日本免费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>

        亚洲已满18点击进入久久| 亚洲区小说区图片区qvod| 久久综合狠狠综合久久综合88| 亚洲精品自拍动漫在线| 91成人网在线| 亚洲高清免费观看 | 色综合久久天天综合网| 一区二区在线观看免费视频播放| 日本韩国精品一区二区在线观看| 亚洲国产欧美日韩另类综合| 在线综合亚洲欧美在线视频| 国产精品一区二区在线看| 亚洲男人的天堂一区二区| 制服丝袜av成人在线看| 国产不卡视频在线观看| 一卡二卡欧美日韩| 日韩一区二区在线看| 国产高清久久久久| 亚洲风情在线资源站| 国产亚洲一本大道中文在线| 色噜噜狠狠成人网p站| 精品一区二区三区免费观看| 亚洲视频图片小说| 精品国产第一区二区三区观看体验| 成人av在线影院| 奇米精品一区二区三区在线观看 | 成人黄色小视频在线观看| 亚洲综合一区二区三区| 欧美一区二区三级| 99久久精品免费| 理论片日本一区| 亚洲综合色成人| 中文欧美字幕免费| 欧美成人欧美edvon| 欧美三级资源在线| 国产精品一区二区你懂的| 亚洲国产欧美日韩另类综合 | 亚洲婷婷综合色高清在线| 欧美一区二区三区精品| 日本道精品一区二区三区| 国产精品亚洲人在线观看| 青青草伊人久久| 亚洲电影视频在线| 一区二区视频在线看| 亚洲国产精品99久久久久久久久| 91精品国产综合久久福利软件| 日本高清成人免费播放| a亚洲天堂av| eeuss鲁一区二区三区| 国产一区二区三区四区五区入口 | 国产欧美日本一区二区三区| 日韩一区二区麻豆国产| 欧美日韩精品一区二区三区| 欧洲国内综合视频| 91黄色免费观看| 欧美色图激情小说| 欧美精品v国产精品v日韩精品| 欧美中文字幕久久| 欧美体内she精高潮| 欧美制服丝袜第一页| 国产成人免费在线观看不卡| 国产精品亚洲综合一区在线观看| 国产毛片精品视频| 国v精品久久久网| 97国产精品videossex| 91麻豆视频网站| 欧美视频精品在线观看| 欧美一级高清大全免费观看| 精品日韩一区二区三区免费视频| 欧美大胆一级视频| 久久色成人在线| 亚洲欧美综合另类在线卡通| 一区二区三区在线观看视频| 午夜精品福利一区二区三区蜜桃| 日本aⅴ亚洲精品中文乱码| 麻豆精品视频在线观看免费| 福利电影一区二区| 在线观看日产精品| 日韩精品专区在线| 国产精品视频第一区| 亚洲第一狼人社区| 黄一区二区三区| 色婷婷久久久久swag精品| 欧美酷刑日本凌虐凌虐| 精品少妇一区二区三区在线视频| 国产精品白丝在线| 亚洲午夜免费电影| 韩国成人精品a∨在线观看| eeuss鲁片一区二区三区在线观看| 欧美调教femdomvk| 久久精品视频在线看| 亚洲午夜一区二区| 国产91富婆露脸刺激对白| 欧美亚洲另类激情小说| 日韩午夜在线影院| 亚洲欧美日韩久久| 国产精品一二三在| 欧美放荡的少妇| 亚洲欧洲综合另类| 国产精品主播直播| 欧美人妇做爰xxxⅹ性高电影| 国产精品久久久久婷婷| 美女网站色91| 日本高清不卡视频| 久久精品一区二区三区四区| 亚洲成人三级小说| jizz一区二区| 欧美激情一区三区| 激情国产一区二区| 91精品啪在线观看国产60岁| 国产欧美精品一区aⅴ影院| 日韩经典中文字幕一区| 一本一道综合狠狠老| 国产欧美一区二区精品久导航| 日韩国产欧美在线观看| 一本久道中文字幕精品亚洲嫩| 日本一区二区三区在线不卡| 久久成人羞羞网站| 日韩一级成人av| 偷拍日韩校园综合在线| 欧美在线小视频| 一区二区三区欧美日韩| 91免费国产在线| 亚洲精品高清在线| 97se亚洲国产综合在线| 中文字幕av一区 二区| 国产精品一级二级三级| 久久久噜噜噜久久中文字幕色伊伊| 久久国产生活片100| 日韩一区二区三区高清免费看看| 亚洲国产日韩一区二区| 在线观看亚洲a| 亚洲影视资源网| 欧美日韩免费在线视频| 午夜国产不卡在线观看视频| 欧美视频在线播放| 婷婷丁香激情综合| 日韩美女视频在线| 国产麻豆日韩欧美久久| 国产精品区一区二区三| 99热在这里有精品免费| 一区二区久久久| 欧美一区二区三区不卡| 国产在线日韩欧美| 国产精品乱码一区二区三区软件| 一本色道久久综合狠狠躁的推荐 | 精品国产自在久精品国产| 麻豆成人免费电影| 久久伊人中文字幕| 国产a久久麻豆| 亚洲乱码国产乱码精品精的特点| 欧美视频精品在线观看| 麻豆精品国产传媒mv男同 | 综合激情成人伊人| 欧美日韩中文精品| 久88久久88久久久| 欧美国产1区2区| 欧美亚男人的天堂| 美国十次综合导航| 欧美精品一区二区在线播放| 成人黄页在线观看| 一区二区三区加勒比av| 欧美一区二区三区影视| 国产精品一区二区视频| 亚洲欧美一区二区三区久本道91 | 国产一区二区三区精品欧美日韩一区二区三区 | 日韩高清电影一区| 久久婷婷色综合| 日本道免费精品一区二区三区| 美女视频黄免费的久久| 中文字幕永久在线不卡| 日韩一区二区在线观看| 不卡的电影网站| 蜜臀精品一区二区三区在线观看 | 欧美高清一级片在线| 国产一区二区三区久久久| 亚洲一区二区欧美激情| 中文幕一区二区三区久久蜜桃| 久久这里只有精品视频网| 日韩亚洲欧美在线观看| 日韩欧美久久一区| 欧美一区二区视频网站| 精品日产卡一卡二卡麻豆| 久久亚洲综合色一区二区三区| 久久九九久久九九| 国产午夜精品一区二区| 欧美国产精品中文字幕| 1000精品久久久久久久久| 亚洲综合色网站| 欧美绝品在线观看成人午夜影视| 美腿丝袜一区二区三区| 香蕉av福利精品导航| 日韩理论电影院| 国产精品视频免费| 欧美精品一区二区高清在线观看| 在线综合+亚洲+欧美中文字幕| 欧美视频三区在线播放| 在线观看日韩一区| 色屁屁一区二区| 99久久国产综合精品色伊|