admin 管理员组文章数量: 887021
2023年12月22日发(作者:七层河内塔最少移动次数)
C#制作WinForm用户自定义控件实例教程
本文将教大家如何使用C#开发WinForm用户自定义控件,自定义控件有好多好处,下面请跟本文一同来学习下吧。
.Nt用户自定义控件继承UserControl类,设计很简单的,像平时在窗体上拖控件一样。
操作步骤:
1. 建立一个工程,添加用户控件。
2.在打开的窗体内输入控件名称,如:"ucButton",按确定按钮。接下来在空白区域拖放3个.Net控件。
如下图:
3.代码
C# code
///
[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; } } ///
[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 = ; }
///
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运行下程序就可以看到自定义控件的效果了。
版权声明:本文标题:C#制作WinForm用户自定义控件实例教程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703214451h442533.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论