admin 管理员组

文章数量: 887021


2023年12月22日发(作者:七层河内塔最少移动次数)

C#制作WinForm用户自定义控件实例教程

本文将教大家如何使用C#开发WinForm用户自定义控件,自定义控件有好多好处,下面请跟本文一同来学习下吧。

.Nt用户自定义控件继承UserControl类,设计很简单的,像平时在窗体上拖控件一样。

操作步骤:

1. 建立一个工程,添加用户控件。

2.在打开的窗体内输入控件名称,如:"ucButton",按确定按钮。接下来在空白区域拖放3个.Net控件。

如下图:

3.代码

C# code

///

/// C#.Net 设计用户自定义控件 /// ///

[ToolboxBitmap(typeof(on), "")] public

partial class ucButton : UserControl { private bool _IsFocused = false;

//标记按钮是否为焦点状态 public ucButton() { InitializeComponent();

FocusedTag(); ionText = ; } private

EventHandler _OnButtonClick = null; private string _MyCatpionText =

"ucButton1"; ///

/// 按钮标题 ///

[EditorBrowsable()] [Browsable(true)]

[DefaultValue("ucButton1")] public string MyCatpionText { get { return

_MyCatpionText; } set { _MyCatpionText = value; =

_MyCatpionText; } } ///

/// 用户自定义Click事件 ///

[EditorBrowsable()] [Browsable(true)]

public event EventHandler OnButtonClick { add { _OnButtonClick = new

EventHandler(value); } remove { _OnButtonClick -= new

EventHandler(value); } } private void lblCaption_Click(object sender,

EventArgs e) { //转移Click事件, 触发用户自定义事件 if

(_OnButtonClick != null) _OnButtonClick(this, e); } private void

lblCaption_MouseDown(object sender, MouseEventArgs e) { if (_IsFocused)

{ = new Font(mily,

, ); } } private void

lblCaption_MouseUp(object sender, MouseEventArgs e) { if (_IsFocused)

{ = new Font(mily,

, r); } } private void

ucButton_SizeChanged(object sender, EventArgs e) { =

- 1; = - 15; } ///

/// 还原按钮状态 ///

public void DoHideFocusedTag()

{ =

global::g;

e = false; lor = ; }

///

/// 设计按钮为焦点状态 /// public void

DoShowFocusedTag() { =

global::ag;

e = true; lor = ; }

private void

ucButton_MouseEnter(object if

( != null) { foreach (Control c in ls) { if

(c is ucButton) (c as ucButton).DoHideFocusedTag(); } }

FocusedTag(); _IsFocused = true; }

[EditorBrowsable()] [Browsable(true)]

[Description("")] public Label MyCaption { get { return lblCaption; } }

private void lblCaption_MouseEnter(object sender, EventArgs e)

{ on_MouseEnter(sender, e); }

4. 按F5编译项目,建立一个测试窗体,在控件工具栏会看到有个齿轮图标的项目。

在窗体上拖3个ucButton。

5.设置按钮标题及事件。

就这么简单,然后按F5运行下程序就可以看到自定义控件的效果了。


本文标签: 控件 用户 按钮 事件 看到