[英]How can I initiate mouse events in MDI?
我有MDI应用程序,其中子窗体包含图片框。 我想在激活的(fImage activeChild = this.ActiveMdiChild as fImage;)childbox的picturebox.image中获取像素值。因此,我需要先以childform形式启动鼠标事件,然后以child以及父形式编写函数来访问这些事件事件。
//以子形式,我启动了事件this.pictureBox1.MouseMove + = new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove);
//我不知道子窗体中的函数应该像什么样(type,get,set)返回在pparentform中发生的鼠标事件。 父形式的函数a(类型,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
}
您应该在子窗体中提供一个公共方法,该方法可以执行您想要的操作,而父方法可以调用此方法。 更好,更简单,更干净。 在操纵鼠标事件方面具有任何优势。 但是,如果您坚持这样做,则可以使用interop调用mouse_event。 或通过反射调用自己的私有mousedown处理程序,但这甚至更糟。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.