赞
踩
可以在用户控件中添加一个事件,并在主窗体中订阅该事件。
具体做法如下:
在用户控件中添加一个 PictureBox
控件,并为其添加一个 Click
事件。
在该事件中触发一个自定义事件,并传递需要的参数。
在主窗体中定义一个方法,用于处理自定义事件。
在主窗体的构造函数中订阅自定义事件。
以下是具体代码实现:
在用户控件中添加 PictureBox
控件和 Click
事件
- public partial class ModbusWareHouseOneControl : UserControl
- {
- // 定义自定义事件
- public event EventHandler<PictureBoxClickEventArgs> PictureBoxClick;
-
- public ModbusWareHouseOneControl()
- {
- InitializeComponent();
- }
-
- private void pictureBox1_Click(object sender, EventArgs e)
- {
- // 触发自定义事件,并传递需要的参数
- PictureBoxClick?.Invoke(this, new PictureBoxClickEventArgs("参数1", "参数2"));
- }
- }
在主窗体中定义方法,用于处理自定义事件
- public partial class MainForm2 : Form
- {
- public MainForm2()
- {
- InitializeComponent();
-
- // 订阅自定义事件
- modbusWareHouseOneControl1.PictureBoxClick += ModbusWareHouseOneControl_PictureBoxClick;
- }
-
- private void ModbusWareHouseOneControl_PictureBoxClick(object sender, PictureBoxClickEventArgs e)
- {
- // 处理自定义事件
- // ...
- }
- }
自定义事件的参数类型为 PictureBoxClickEventArgs
,可以根据需要自行定义。在上面的示例中,参数类型包含两个字符串类型的属性,分别为 Param1
和 Param2
。
- public class PictureBoxClickEventArgs : EventArgs
- {
- public string Param1 { get; private set; }
- public string Param2 { get; private set; }
-
- public PictureBoxClickEventArgs(string param1, string param2)
- {
- this.Param1 = param1;
- this.Param2 = param2;
- }
- }
这样,在用户控件中,当 PictureBox
被点击时,会触发自定义事件,并将参数传递给主窗体中的处理方法进行处理。
案例一:
筒仓三维超声波扫描料位计(删除用户控件用法)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。