(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”控件并拖入窗体。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值