自定义控件

在开发Wince的过程中使用到了有多个输入框,在这些输入框都输入值后将这些输入框的值传递到DataGrid中的需求,心想这种东西以后还会用,正好也学习一下Winform用户控件的用法,就把它写成了一个控件

实现效果图和开发图(Wince的窗体界面比较难看...):

 

其中用红框框起来的是一个用户控件,目前实现的功能是根据传递的参数动态生成Label,Textbox,和GridView,也就是说使用的时候只需要给这个控件设置一个属性就行了

开发这个用户控件还是有点内容的,拿出来分享一下

 

1.在自定义控件的时候需要新增属性(ListHeaderStr),因为感觉这个属性能显示在可视开发界面的属性栏里,感觉应该比较复杂,其实,只要直接在用户控件类中新增属性就行了

public string ListHeaderStr { get; set; }

想引用刚刚创建的用户控件到Vs的工具栏中需要在“工具栏”中点击右键选择“选择项”,引入用户控件编辑过的exe或dll文件

 

2.因为自定义了用户控件,所以在使用这个用户控件的时候,无法直接控制控件中的Textbox或其他控件的属性,如下一个自定义控件:

只是定义了一个输入框,在自定义的控件中对KeyDown事件做了一些处理,让其能够在用户点击回车键的时候能够转换到下一个输入框(类似于Tab)但是手持机上没有Tab键,只有OK(回车),所以就有了这个控件,但是当用户需要对该控件做其他处理,如:需要捕获该输入控件的LostFocus,KeyDown等事件时,如果直接使用InBox.LostFocus或Inbox.KeyDown(Inbox 是自定义控件名),用户其实是捕获不到的,因为用户的真正需求应该是捕获Inbox中的TextBox的这些事件,所以直接用于控件上无法捕获,这里我使用重写事件的方法,在自定义的控件中加上如下事件:

        public event EventHandler LostFocus;
public event EventHandler<KeyEventArgs> KeyDown;

大家可以看出,这些时间是和Control中的事件重名的,对这些时间进行了重写。
然后在Inbox中的Textbox的事件被激发时,激发我重写的事件,来把这种影响传递下去

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
KeyDown(this, e);
}
private void textBox1_LostFocus(object sender, EventArgs e)
{
if (LostFocus != null)
{
LostFocus(sender, e);
}
}




转载于:https://www.cnblogs.com/wk1234/archive/2011/10/28/2228022.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值