C#绘图时使用委托和事件,从控件向窗体中进行传值

1.首先在控件中定义委托和事件

//声明委托,传递xy坐标
public delegate void MouseMoveDelegate(float transformedX, float transformedY);
//基于委托定义事件
public event MouseMoveDelegate MouseMovedEvent;

2.触发事件,进行数据传递

我是在鼠标移动事件中,实时传递xy坐标

3.在窗体中进行接收,并显示

 private void Form1_Load(object sender, EventArgs e)
 {
     // 订阅控件的事件
     canvas.MouseMovedEvent += MouseMovedEvent;
 }
 //定义委托代理的方法,也就是要最终执行的方法
 private void MouseMovedEvent(float transformedX, float transformedY)
 {
     // 在主窗体中进行处理,更新文本框的值
     textBox1.Text = transformedX.ToString();
     textBox2.Text = transformedY.ToString();
 }

在主窗体中

1.要编写一个方法用来接收参数,并显示在textBox上

2.订阅事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值