(winform)创建⽤户控件以及⽤户控件的使⽤
(1)创建⽤户控件
下⾯以创建⼀个计时器控件为例。⾸先创建“Windows窗体控件库”项⽬
如下图,创建了⼀个名为“Clocker”的窗体控件项⽬。
我这个⼯程是先新建的⼀个windows窗体项⽬Form1.然后右击解决⽅案添加了⼀个新建“Windows窗体控件库”如上图,所⽰。
整个⼯程如下图
⾸先,在⽤户控件设计器中,拖⼊⼀个⽇期选择框、⼀个按钮,⼀个Timer,还有⼀个布局容器TableLayoutPanel。设置⽇期选择框CustomFormat属性为"HH:mm:ss”,Format属性为“Custom”,Anchor属性为Right,Font为宋体,15pt,ShowUpDown设置为
true。最后重命名UserControl1.cs为ClockerDemo.cs。这⼀点很重要,它是⽤户控件加⼊到⼯具箱后所显⽰的名称。
设置定时器间隔为1秒,初始化⽇期框的值,必须设置时间部分为0.如下
private void ClockerDemo_Load(object sender, EventArgs e)
{
//设定定时器间隔为1s,初始化⽇期框的值,必须设置时间的部分的值为0
this.timer1.Interval =1000;//1000毫秒
this.dateTimePicker1.Value = DateTime.Parse("2019-09-28 00:00:00");
}
定时器每隔1秒更新⽇期框的值,每次增加1秒
private void timer1_Tick(object sender, EventArgs e)
{
//定时器每隔1秒更新⽇期框的值,每次增加1秒
this.dateTimePicker1.Value =this.dateTimePicker1.Value.AddSeconds(1);
}
单击“Start”按钮时,启动定时器,开始计时,设置按钮⽂本为“End”,并重置时间。再次单击该按钮时,停⽌定时器,停⽌计时,并设置按钮⽂本为“Start”
private void button1_Click(object sender, EventArgs e)
{
//按钮⽂本为End就停⽌定时器
if(button1.Text.Equals("End"))
{
this.timer1.Stop();
this.button1.Text ="Start";
}
else//按钮⽂本为Start就开始定时器
{
this.timer1.Start();
this.button1.Text ="End";
this.dateTimePicker1.Value = DateTime.Parse("2019-09-28 00:00:00");
}
}
控件的使用通过F5键启动调试,可查看⽤户控件效果,但是我的调试不了出现这种错误
实际要的是下⾯这种效果
在Form1窗体项⽬中,从⼯具箱Clocker栏拉取刚才添加的⽤户控件,如图
因为我这个⼯程是窗体项⽬和⽤户项⽬在⼀个⼯程,所以如上图那样添加创建的控件。
若在其他独⽴的窗体项⽬中,添加这个创建的控件,那么需要先添加dll,或者选择“⼯具”->“选择⼯具箱…”->“浏览”,选择Clocker 项⽬debug下的Clocker.dll⽂件,加⼊⼯具箱。 从⼯具箱中选择“ClockerDemo”控件并拖⼊窗体。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。