日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

java 用户控件_C#自定义控件VS用户控件

發布時間:2023/12/1 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 用户控件_C#自定义控件VS用户控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#中自定義控件VS用戶控件大比拼

1 自定義控件與用戶控件區別

WinForm中,

用戶控件(User Control):繼承自 UserControl,主要用于開發 Container 控件,Container控件可以添加其他Controls控件

自定義控件(Custom Control):繼承自 Control,主要用于開發windows控件的最基本的類,比如 Text,Button 控件

2 要開發自己的控件的幾種方法[1]

復合控件(Composite Controls):將現有的各種控件組合起來,形成一個新的控件,來滿足用戶的需求。?

擴展控件(Extended Controls):就是在現有的控件基礎上,派生出一個新的控件,增加新的功能,或者修改原有功能,來滿足用戶需求。

自定義控件(Custom Controls):就是直接從System.Windows.Forms.Control類派生,也就是說完全由自己來設計、實現一個全新的控件,這是最靈活、最強大的方法,但是,對開發者的要求也是最高的。要實現一個自定義控件,必須為Control類的的OnPaint事件編寫代碼,在OnPaint事件中實現自定義控件的繪制工作。同時,還可以重寫Control類的WndProc方法,來處理底層的Windows消息。所以說,要實現一個自定義控件,對開發者的要求較高,要求開發者必須了解GDI+和Windows API的知識。

3 示例:Clock User Control[1]

源代碼

Steps:

1. 新建一個Windows控件庫項目(從UserControl派生)

2. 添加一個Timer控件,并設置屬性(Enable=True, Interval=1000)和事件 (Ticker=Time1_Tick)

private void timer1_Tick(object sender, EventArgs e)

{

this.Time = DateTime.Now;

Refresh();

}

3. 重寫OnPaint事件,繪制用戶界面

圖1 重寫OnPaint事件,繪制用戶界面

#region draw clock

private void UserClock_Paint(object sender, PaintEventArgs e)

{

Graphics dc = e.Graphics;

Pen pn = new Pen(ForeColor);

SolidBrush br = new SolidBrush(ForeColor);

initCoordinates(dc);

DrawDots(dc, br);

DrawHourHand(dc, pn);

DrawSecondHand(dc, pn);

DrawMinuteHand(dc, pn);

}

public void initCoordinates(Graphics dc)

{

if (this.Width == 0 || this.Height == 0) return;

dc.TranslateTransform(this.Width / 2, this.Height / 2);

dc.ScaleTransform(this.Height / 250F, this.Width / 250F);

}

public void DrawDots(Graphics dc, Brush brush)

{

int iSize;

for (int i = 0; i <= 59; i++)

{

if (i % 5 == 0)

{

iSize = 15;

}

else

{

iSize = 5;

}

dc.FillEllipse(brush, -iSize / 2, -100 - iSize / 2, iSize, iSize);

dc.RotateTransform(6);

}

}

public virtual void DrawHourHand(Graphics grfx, Pen pn)

{

GraphicsState gs = grfx.Save();

grfx.RotateTransform(360.0F * Time.Hour / 12 + 30.0F * Time.Minute / 60);

grfx.DrawLine(pn, 0, 0, 0, -50);

grfx.Restore(gs);

}

public virtual void DrawMinuteHand(Graphics grfx, Pen pn)

{

GraphicsState gs = grfx.Save();

grfx.RotateTransform(360.0F * Time.Minute / 60 + 6.0F * Time.Second / 60);

grfx.DrawLine(pn, 0, 0, 0, -70);

grfx.Restore(gs);

}

public virtual void DrawSecondHand(Graphics grfx, Pen pn)

{

GraphicsState gs = grfx.Save();

grfx.RotateTransform(360.0F * Time.Second / 60);

grfx.DrawLine(pn, 0, 0, 0, -100);

grfx.Restore(gs);

}

#endregion

4. 生成用戶控件

5. 測試用戶控件

創建WinForm應用程序,在Toolbox添加Tab "User Control",再往其中拖入第4步中生成的自定義控件的dll文件。再把Toolbox中的用戶控件“UserControlClock”拖到界面“Form1”中,如下圖所示。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的java 用户控件_C#自定义控件VS用户控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线国产中文字幕 | 欧美人与禽zozzo性之恋的特点 | 黑丝美女一区二区 | 精品国产免费观看 | 国产盗摄视频在线观看 | 国产成人无码精品 | 夜夜爽av | 亚洲一区动漫 | 亚洲成a人片在线www | 99国产精品国产免费观看 | 欧美黑丝少妇 | 最新成人| 欧美视频三区 | 99re伊人 | 色天天天 | 天天干天天干天天干 | 亚洲九九精品 | 久久午夜剧场 | 少妇人妻无码专区视频 | 久久久久麻豆v国产精华液好用吗 | av在线免费播放网址 | 99久久99久久精品国产片果冰 | 久久久久久久久免费 | 午夜视频在线网站 | 欧美一区二区三区在线免费观看 | 成年精品| 草草视频在线 | 香蕉视频1024 | 国产青青青 | 成年人看的羞羞网站 | 国产精品免费看久久久无码 | 日本欧美一区二区三区 | av美国 | 国产调教 | 中文字幕av第一页 | 亚洲一区免费电影 | 岛国av毛片 | 91精品国产高清 | 午夜看片 | 4438五月天 | 日韩一区二区免费看 | 成人自拍视频 | 久久黄视频 | 国产精品乱码久久久久久久久 | 国产视频一区二区三区在线 | 2021天天操 | 99riav3国产精品视频 | 欧美一区二区最爽乱淫视频免费看 | 成人网站在线进入爽爽爽 | 99精品视频在线观看免费 | 国产在线一区不卡 | 亚洲精品国产精品乱码 | 少妇做爰免费视看片 | 精品人妻无码一区二区色欲产成人 | 9久久精品| 色婷婷久久一区二区三区麻豆 | 中文字幕在线国产 | av网站亚洲| 中文字幕一区二区不卡 | 欧美一二区 | 成人黄色激情网 | 午夜成年人 | 久草网视频在线观看 | 色婷婷精品视频 | 欧美日韩亚洲激情 | 亚洲免费自拍 | 小视频成人 | 亚洲一区二区91 | 日日弄天天弄美女bbbb | 国产精品成人免费视频 | 少妇激情偷人三级 | 久久国产精品一区 | 久久精品—区二区三区舞蹈 | 永久国产| 超碰在线97国产 | jizz在线观看视频 | 伊人成长网 | 国产a级片 | 超碰免费公开在线 | 高清人妖shemale japan | jizz日本在线 | 91香焦视频 | 欧美极品jizzhd欧美仙踪林 | 亚洲色欲色欲www | 日韩av三级在线 | 国产a级免费| 国产77777| 免费看污黄网站在线观看 | 日本不卡不卡 | 亚洲成人一区二区在线观看 | 99国产视频 | 日本中文字幕免费观看 | 欧美videossex另类 | 99色99| 日韩av一区二区在线播放 | 手机看片日韩福利 | 日韩久久一区二区三区 | 欧美日本综合 | 奇米四色网 |