成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#復合控件開發技術

開發 后端
這里介紹C#復合控件開發技術,.NET平臺為我們提供了三種控件的開發技術,分別是:繼承控件(Extended Control)、復合控件(Composite Control)和自定義控件(Custom Control)。

Visual C# .NET有很多值得學習的地方,今天重點介紹創建控件工程、更改命名空間、控件類名稱、添加現有控件、公布控件屬性。

本文介紹如何用Visual C# .NET 2002開發簡單的C#復合控件(Composite Control),主要講解控件開發過程中的屬性(Property)和事件(Event)處理,以方便開發人員在.NET平臺下根據自己的需要開發適合的控件。

當我們在.NET平臺下做Windows Forms開發時,常常需要為了某一特殊用途而把現有控件結合起來使用,比如結合了Label和TextBox的控件就非常容易在窗體上布局(記得 Delphi 6里就有這么個控件),而結合了特定圖案和文字的控件則非常適合顯示公司的logo。.NET平臺就為我們提供了非常棒的工具和技術來創建這樣的自定義控件。下面讓我們來一起創作一個可以自動顯示時間的控件。

值得注意的是,.NET平臺為我們提供了三種控件的開發技術,分別是:繼承控件(Extended Control)、復合控件(Composite Control)和自定義控件(Custom Control)(譯名可能會有所不同,大家可以以英文為準)。我們現在關心的是第二種——C#復合控件開發技術。OK,Let’s go!

1.創建控件工程。

在Visual C# .NET中新建一個“Windows控件庫”項目,命名為“TimeLabel”

2.更改命名空間、控件類名稱。

默認的命名空間是TimeLabel(和項目名稱一樣),控件類名稱是UserControl1。請把命名空間改為與你的開發習慣一致,如我的是LeoYang.Controls.TimeLabel,當然你也可以選擇保留默認命名空間;***把控件類名稱改為有意義的命名,如 TimeLabel,這樣當該控件出現在工具箱上時,就會顯示為TimeLabel而不是UserControl1了。注意,一旦改動類名,則相應的 Construction方法名稱也要相應改掉,如:

  1. public UserControl1(){  
  2. …  
  3. }  
  4. //就要改為:  
  5. public TimeLabel(){  
  6. …  
  7. }  


3.添加現有控件。

由于我們是要在現有控件的基礎上創建新控件,所以就應該先把可用的現有控件添加到控件設計界面上。請在“工具箱”中雙擊Label,再雙擊Timer,兩個現有控件依次被添加到我們的設計界面上

4.公布控件屬性

因為要把時間寫入Label的Text屬性中,所以我們需要把label1.Text屬性公開。請在TimeLabel類中加入以下代碼:

  1. public string LabelText  
  2. {  
  3. get  
  4. {  
  5. return label1.Text;  
  6. }  

注意,這里我們不需要讓控件使用者改變label1.Text的值,所以LabelText是個只讀屬性。

另外,出于美觀的考慮,我們這里還要向控件使用者公開一個LabelBackColor屬性,用于獲得和設置Label的BackColor屬性。代碼如下:

  1. public Color LabelBackColor{  
  2. get{  
  3. return label1.BackColor;  
  4. }  
  5. set{  
  6. label1.BackColor=value;  
  7. }  

當然,你也可以根據需要再增加一些屬性,如字體、控件大小等,讓控件使用者可以更加靈活地使用控件。

到這里,我需要向大家補充一點,C#復合控件創建中的很重要的一條是:任何構成控件(Constituent Control)的屬性必須要通過加入復合控件的屬性來公開,而不要直接把構成控件直接以public級別公開。比如說上面,我們就不應把Label控件的訪問級別設為public來直接公開(默認是private)。這樣作的目的是讓我們能更好地把握控件的數據安全,從而只把那些最需要的屬性公開給控件用戶。以上介紹C#復合控件開發技術。

【編輯推薦】

  1. C#編寫數字轉換中文算法
  2. 分析C#調用COM對象
  3. C# SingleInstance類淺析
  4. 概述C#調用Active組件
  5. C# Convert.ToInt32簡介
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-19 15:30:40

C#復合控件構建

2009-08-21 17:55:52

C#復合控件

2009-08-19 14:15:42

C# 復合控件

2009-09-16 10:56:22

C#開發ActiveX

2009-09-11 10:41:20

C# WinForm控

2011-05-20 16:07:29

C#

2009-08-06 18:18:27

ASP.NET控件開發ASP.NET復合控件

2009-09-01 17:08:14

C#畫線控件

2009-08-18 17:41:22

C# ListView

2009-08-11 14:45:41

C# DataGrid

2009-08-19 11:21:02

C# ListBox控

2009-08-24 11:23:41

C# TimeLabe

2009-07-30 16:52:38

復合控件ASP.NET服務器控

2015-05-12 14:16:15

C#ActiveX控件web調用

2009-08-14 14:19:50

Enhanced LiC#構建

2009-08-24 18:21:23

C# ListView

2009-09-04 17:58:38

C# Web Brow

2009-08-21 15:27:11

C# DataGrid

2009-08-06 16:58:40

C#編寫ActiveX

2009-08-12 10:35:50

C#調用ActiveX
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91国产视频在线观看 | 日韩免费高清视频 | 国产一区不卡在线观看 | 色久电影 | 亚洲欧美一区二区三区在线 | 欧美人成在线视频 | 亚洲狠狠| 欧美日韩三区 | 一级黄色录像片子 | 亚洲综合无码一区二区 | 91精品国产综合久久精品图片 | 毛片免费视频 | 日本三级精品 | 亚洲免费在线观看 | 99re6在线视频精品免费 | 91久久精品一区二区二区 | 91精品国产综合久久久久久 | 天堂影院av | 久久九九网站 | 欧美啊v在线观看 | 日本一区二区三区在线观看 | 在线观看视频91 | 国产一区二区三区在线免费 | 婷婷在线免费 | 国产资源一区二区三区 | 中文字幕日韩欧美 | 国内精品一区二区三区 | 日韩av在线一区 | 91精品国产综合久久婷婷香蕉 | 国产一区二区久久 | 91精品国产91久久久久久丝袜 | 国产精品成人国产乱 | 色综合99| 国产草草视频 | 在线观看中文字幕亚洲 | 成人精品一区 | 黄色日本片 | 欧美日韩电影一区二区 | 亚洲人va欧美va人人爽 | 久久久国产亚洲精品 | 中文字幕在线不卡 |