今天来讲一下如何使用winform设计自定义控件及开发。
首先,在vs2022中创建一个项目,项目模板选择Windows窗体应用(.NET FrameWork
),项目名称为HeatingControlProject
,框架选用.NET FrameWork4.8
,创建一个控件库。
再建好的项目中右键添加,选择新建项,选择用户控件,修改名称后点击添加。
添加完成后,会生成如下结构:
然后拖放相应控件,修改为如下样式,
再看看后台代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HeatCustomerControls
{
public partial class UserControl_HCBoiler : UserControl
{
public UserControl_HCBoiler()
{
InitializeComponent();
}
/// <summary>
/// 锅炉状态
/// </summary>
private bool boilerState = false;//默认状态为false
[Category("自定义属性")]
[Description("获取或设置锅炉的状态")]
public bool BoilerState
{
get { return boilerState; }
set {
if(boilerState != value)
{
boilerState = value;//改变为真实的状态
this.pic_Boiler.Image = value ? Properties.Resources.锅炉Run : Properties.Resources.锅炉Stop;
}
}
}
/// <summary>
/// 锅炉液位
/// </summary>
private float boilerLevel = 0.0f;
[Category("自定义属性")]
[Description("获取或设置锅炉的液位")]
public float BoilerLevel
{
get { return boilerLevel; }
set
{
if(boilerLevel != value)
{
boilerLevel = value;
this.thingerWave1.Value = int.Parse(value.ToString());
}
}
}
}
}
这样一个锅炉控件的自定义开发就完成了。代码编写完成后,重新生成一下解决方案即可。
完成后,打开工具箱,我们会看到如下效果:
接下来,我们新建一个项目来测试一下刚才定义的控件是否能够正常使用。
依旧在当前解决方案资源管理器中添加一个新项目,命名为:HeatingControlProjectTest
我们在HeatingControlProjectTest项目中的主窗体内添加自定义控件,拖动定义好的控件,我们发现可以正常使用。
到此为止,一个简单的锅炉控件开发就完成了。