【问题标题】:How can I initiate mouse events in MDI?如何在 MDI 中启动鼠标事件?
【发布时间】:2011-01-01 21:48:44
【问题描述】:

我有 MDI 应用程序,其中子窗体包含图片框。我想在picturebox.image 的激活(fImage activeChild = this.ActiveMdiChild as fImage;)子窗体中获取像素值。所以我需要先在子窗体中启动鼠标事件,然后在子窗体和父窗体中编写函数来访问这些事件。

// 在 Child 表单中我发起了事件 this.pictureBox1.MouseMove +=new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove);

// 我不知道我的子窗体中的函数应该是什么样的(类型、获取、设置)来返回我在父窗体中发生的鼠标事件。父表单中的函数 a (type, get , set) 也可以访问在子表单中发生的这些事件。有什么建议吗???

public float pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
    x = e.X;
    y = e.Y;

    // not clear how to code it           
}

【问题讨论】:

  • 老实说,我不明白你在这里要问的问题。您能否阐明您的最终目标是什么,以及您发布的功能实际定义在哪里?

标签: c# winforms mouseevent mdi


【解决方案1】:

您应该在您的子表单中提供一个公共方法来执行您想要的操作,并且父级可以调用它。它更好、更简单、更干净。在任何方面都优于操纵鼠标事件。但是,如果您坚持这样做,您可以使用互操作调用 mouse_event。或者用反射调用你自己的私有 mousedown 处理程序,但这更糟。

【讨论】:

  • 请在这方面进一步指导我
猜你喜欢
  • 2019-10-11
  • 1970-01-01
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2012-11-09
相关资源
最近更新 更多