欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
在C#中創(chuàng )建自定義控件

在C#中創(chuàng )建自定義控件
創(chuàng )建自定義的控件有下面幾種方法:
1 創(chuàng )建繼承自UserControl的控件。對于這樣的控件,它其實(shí)是一個(gè)控件的容器,你可以像設計一般的窗體一樣設計它,因此,標準的控件都是可用的。當然了,如果愿意,你也可以隨意地在Paint事件的處理函數中修改它的外觀(guān)。這類(lèi)自定義控件可以用于把其他控件繼承起來(lái)
2 創(chuàng )建繼承自其他控件(例如標準控件)的控件。對于這類(lèi)控件,主要是為了修改已有控件的外觀(guān)和行為,沒(méi)有必要從零開(kāi)始。
3 創(chuàng )建繼承自Control的控件??梢允褂玫某?lèi)有 

 

它允許你從頭開(kāi)始編寫(xiě)一個(gè)全新的控件,當然,這種方法也是三者中最復雜的。control類(lèi)提供控件(例如事件)所需的所有基本功能,但不提供控件特定的功能或圖形接口。與通過(guò)從用戶(hù)控件或現有 Windows 窗體控件繼承來(lái)創(chuàng )建控件相比,通過(guò)從 Control 類(lèi)繼承來(lái)創(chuàng )建控件需要耗費的心思和精力要多得多。因為你必須為控件的 OnPaint 事件編寫(xiě)代碼以及所需的任何功能特定代碼,但同時(shí)也允許作者根據自己的需要,靈活地自定義調整控件。
下面我們就來(lái)看看如何創(chuàng )建自己的控件。
確定好采用上面三者中的哪一個(gè)方法后,創(chuàng )建相應的工程。之后,需要添加自己的字段,事件,和屬性。如果需要重新修改超類(lèi)的某個(gè)動(dòng)作,可能還要重載超類(lèi)對應的虛函數。如果需要自己畫(huà)控件的外觀(guān)(繼承自Control的空間必須這樣做),需要添加Paint事件的處理函數。
最后,我們再說(shuō)一下如何使自己的控件可以在.net studio中的設計器中使用。
1 如果在設計器中希望自己的控件改變大小之后能夠被重畫(huà),需要在控件類(lèi)的構造函數中使用下面的代碼:SetStyle(ControlStyles.ResizeRedraw, true); 另外,如果想使控件的背景色為透明色,也需要類(lèi)似的代碼,例如:SetStyle(ControlStyles.ResizeRedraw | ControlStyles.SupportTransparentBackColor, true);
2 關(guān)于控件類(lèi)的元數據。為了使設計器能正確地操作我們的控件,必須提供足夠的關(guān)于元數據(即描述控件自身的數據)。幾個(gè)常用的元數據包括
一 關(guān)于空間的元數據。常用的是控件默認的事件,默認的屬性,控件顯示在工具箱上的圖標。所謂默認事件,是指當在設計器中雙擊空間時(shí),要給哪個(gè)事件添加事件處理函數。所謂默認屬性,是指當我們在設計器中編輯控件的屬性時(shí),哪個(gè)屬性默認被激活??梢栽诳丶?lèi)的定義前添加下面的代碼指定默認事件和默認屬性:
[DefaultProperty("屬性名"),DefaultEvent("事件名"),ToolboxBitmap("路徑")]
另外,ToolboxBitmap元數據也可以是Type的實(shí)例,這樣,顯示在工具箱中的圖標就是對應控件的圖標。例如:
[ToolboxBitmap(typeof(Button))]
二 關(guān)于某個(gè)事件的元數據。主要是事件的描述信息,即在事件設計器中,當選中對應的事件時(shí),顯示在設計器下面的描述本事件的信息??梢栽谑录亩x前添加下面的代碼指定默認事件和默認屬性:
[Description("你自己的描述")]
三 關(guān)于某個(gè)屬性的元數據。主要包括Category,Description,DefaultValue,Browserable和Editor,其中Category是指本屬性顯示在設計器中的哪個(gè)分類(lèi)里,Description指當在設計器中選定本屬性時(shí),顯示在設計器下面的描述本屬性的信息。DefaultValue就不用說(shuō)了吧。至于Browserable,這個(gè)元數據太重要了,它指定對應的屬性在設計器里是否可見(jiàn)。若設為false,在設計器里就看不到此屬性了,因此最好顯式把它設成true(默認好像是false )。Editor也是一個(gè)很重要的屬性,它指定當要給此屬性選定值時(shí),應該采用什么編輯器。對于一般類(lèi)型的屬性(例如int,string等),設計器都能給出正確的默認的編輯器,但是如果設計器無(wú)法識別屬性的類(lèi)型,那么你就必須指定編輯器(你自己寫(xiě)的類(lèi),這些類(lèi)繼承自System.Drawing.Desing名字空間中的幾個(gè)類(lèi),幸運的是,這個(gè)名字空間中提供了幾個(gè)可以直接使用的編輯器,使得對于像圖像、字體這樣的屬性不用自己寫(xiě)編輯器了 )??梢栽趯傩缘亩x前添加代碼指定這些元數據。
下面是一個(gè)例子。
[   Category("Flash"),
    Editor(typeof(FlashTrackBarValueEditor), typeof(UITypeEditor)),
    DefaultValue(0)]

關(guān)于屬性還有一點(diǎn)需要注意,如果這個(gè)屬性和控件的外觀(guān)有關(guān),那么要在屬性的set段里引發(fā)重畫(huà)事件,這樣才能使控件得到正確的顯示 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C# 自定義控件入門(mén)
QT中自定義槽的方法,眾人說(shuō)法的集錦[轉]
arcgis api for flex 高級主題(二) 自定義控件的開(kāi)發(fā)
寫(xiě)Form設計器嘗試(五) 讓設計器使用自定義控件
【引用】[VBA] vba控件常規使用
第七篇 Excel自動(dòng)化
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久