博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#带按钮的文本框TextBoxContainButton
阅读量:5126 次
发布时间:2019-06-13

本文共 1641 字,大约阅读时间需要 5 分钟。

经常需要用到各种组合控件,每次组合太麻烦,通过打包成自定义控件,方便调用。

带按钮的文本框,如下图:

文本框内可以输入文本,响应文本框内容变化事件,按钮可以设置点击事件,图标

通过3个组合控件实现。

1 新建自定义控件,添加两个文本框,1个按钮,1个鼠标提示控件(ToolTip)。

一个文本框作为背景,另一个文本框作为输入框,一个按钮点击用,只需通过设置控件属性,编辑成如下效果

2 添加常用属性

[Category("自定义"), Description("按钮图片")]public Image ButtonImage{set{button.Image = value;}get{return button.Image;}}[Category("自定义"), Description("文本框鼠标悬停提示文本")]public string TextBoxToolTipText{set{toolTip1.SetToolTip(this.textBoxFront, value);}get{return toolTip1.GetToolTip(this.textBoxFront);}}[Category("自定义"), Description("按钮鼠标悬停提示文本")]public string ButtonToolTipText{set{toolTip1.SetToolTip(this.button, value);}get{return toolTip1.GetToolTip(this.button);}}[Category("自定义"), Description("文本框内文本")]public string TextBoxText{set{textBoxFront.Text = value;}get{return textBoxFront.Text;}}private bool textBoxReadOnly = false;[Category("自定义"), Description("文本框只读")]public bool TextBoxReadOnly{set{textBoxReadOnly = value;textBoxFront.ReadOnly = textBoxReadOnly;textBoxFront.ReadOnly = textBoxReadOnly;}get{return textBoxReadOnly;}}[Category("自定义"), Description("文本框背景色")]public Color TextBoxBackColor{set{textBoxBack.BackColor = value;textBoxFront.BackColor = value;}get{return textBoxBack.BackColor;}}

 

3 添加按钮点击事件(其他事件添加类似)

public delegate void ButtonClickEventHandler(Object sender, EventArgs e);public event ButtonClickEventHandler ButtonClick; //声明事件protected virtual void OnButtonClick(EventArgs e){if (ButtonClick != null){ // 如果有对象注册ButtonClick(this, e); // 调用所有注册对象的方法}}private void button_Click(object sender, EventArgs e){OnButtonClick(e); // 调用 OnButtonClick方法}

 

4 属性的使用:

5 事件的使用

转载于:https://www.cnblogs.com/yepoint/p/7238667.html

你可能感兴趣的文章
【Vue】【Router】手动跳转用 this.$router.push() 时 $router 未定义的问题
查看>>
方法的重载(overload)和重写(override)的区别
查看>>
iReport报表工具的使用
查看>>
hdoj-3342-Legal or Not(拓扑排序)
查看>>
第三章 使用属性升级MyBank
查看>>
Linux实用指令
查看>>
Linux软链接和硬链接
查看>>
可持久化线段树学习笔记
查看>>
System
查看>>
mac下用xattr命令来删除文件的扩展属性
查看>>
jQ实现JSON.stringify(obj)方法
查看>>
tomcat 下载
查看>>
sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact
查看>>
HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面 详细错误:HTTP 错误...
查看>>
元组tuple
查看>>
ListView 实现分组
查看>>
Ubuntu apache 禁止目录浏览
查看>>
Bugku杂项-convert
查看>>
面向对象三大特性: 封装
查看>>
Java Web 应用概述
查看>>