Как я могу инициировать события мыши в MDI? - PullRequest
0 голосов
/ 02 января 2011

У меня есть приложение MDI, где childforms содержит picturebox. Я хочу получить значение пикселя в picturebox.image активированного (fImage activeChild = this.ActiveMdiChild as fImage;) childform. Поэтому мне нужно сначала инициировать события мыши в childform, а затем писать функции в child, а также в родительской форме для доступа к события.

// в дочерней форме я инициировал событие this.pictureBox1.MouseMove + = new System.Windows.Forms.MouseEventHandler (this.pictureBox1_MouseMove);

// Я не знаю, как должна выглядеть моя функция в childform (type, get, set), чтобы возвращать мне событие мыши, которое происходит в pparentform. Также функция a (type, get, set) в родительской форме, чтобы иметь доступ к этим событиям, происходящим в childform. Любое предложение Plaese ???

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

    // not clear how to code it           
}

1 Ответ

0 голосов
/ 02 января 2011

Вы должны предоставить публичный метод в вашей дочерней форме, который делает то, что вы хотите, и родитель может вызвать это. Это лучше, проще, чище. Превосходный способ манипулирования событиями мыши. Если вы настаиваете на этом, вы можете вызвать mouse_event с помощью interop. Или вызывая свой собственный обработчик mousedown с отражением, но это еще хуже.

...