C# 自定义控件开发及使用(WinForm)
开发目的开发流程创建控件库项目自定义控件的使用开发目的
在使用C# WinForm开发时,工具箱中已经提供了十分丰富的控件库,利用这些基础控件我们可以开展各类项目的开发。
但是我们在开发具有类似的项目时,我们希望将相同类型的功能模块封装成标准的控件,以便在此后的项目开发中直接调用,从而提高工作效率。
提示:以下是本篇文章正文内容,下面案例可供初学者参考,若有改进之处请提出意见并加以批评,谢谢。
开发流程
本篇文章是记录自己在开发Trio运动控制器API函数时,也希望能开发更多的功能块控件模板以供客户使用。
下文以封装上位机连接控制器的功能控件为例,来介绍C#自定义控件的封装方法。
创建控件库项目
1、首先新建Windows窗体控件库项目
2、在用户界面上添加工具箱中的控件,如下图所示
3、编写控件相应程序
3.1 双击连接控制器的控件,写入如下程序代码
private void CntBtn_Click(object sender, EventArgs e){ipAddress = IpTBox.Text.Trim();trio.SetHost(ipAddress);trio.Open(PortType.Ethernet, PortId.EthernetREMOTE);isSuccess = trio.IsOpen(PortId.Default);if (trio.IsOpen(PortId.EthernetREMOTE)){double value;trio.GetAxisVariable("AXISSTATUS", numAxis, out value);if (value != 0){trio.Execute("ETHERCAT(0,0)");}MessageBox.Show("成功连接控制器!");}else{MessageBox.Show("无法连接控制器!");}}
3.2 双击断开控制器的控件,写入如下程序代码
private void DisCntBtn_Click(object sender, EventArgs e){trio.Close(PortId.Default);isSuccess = trio.IsOpen(PortId.Default);if (isSuccess){MessageBox.Show("断开控制器失败!");}else{MessageBox.Show("控制器已断开连接!");}}
3.3上述程序中使用了关于Trio运控的API函数,所以在使用过程中需要在该项目中添加对Trio运控函数的引用。
提示:如果在封装自定义控件时不需要使用其他引用,则忽略此步骤。
4、修改封装控件名、启动程序、生成解决方案
自定义控件的使用
1、新建一个,在工具箱中添加自定义控件
2、点击浏览后,在自定义控件程序的Debug文件下选择编译形成的dll文件。
打开后可以看见自定义控件已被加载进来。
3、将自定义Connect_controller控件拖动至用户界面上
4、启动程序后可正常运行自定义Connect_controller控件
这样下次实现上位机与控制器之间的连接功能,只需将该控件拖动至用户界面上即可。