у меня есть UserControl (MapControl),
public class MapControl : System.Windows.Forms.UserControl
{
private Map _axMap;
...
}
класс Мар — унаследован от AxMapObjectsLT2.AxMap
public class Map : AxMapObjectsLT2.AxMap
AxMapObjectsLT2.AxMap — это ActiveX Form, и в нем есть свой обработчик события OnMouseDown
я размещаю свой MapControl на форме MyForm, и при нажатии кнопки мыши на обьекте Мар происходит обработка события Map.MouseDown — это понятно
мне надо чтобы выполнилось событие MyForm.MouseDown — оно не выполняется.
(выполняется только в том случае, когда ставлю _axMap.Visible == false в MapControle,
а при _axMap.Visible = true идет обработка Map.MouseDown)
**Весна, жизнь бьёт ключем, да всё по голове...**
Здравствуйте, Banch, Вы писали:
B>Здравствуйте, AlZakh, Вы писали:
AZ>>я размещаю свой MapControl на форме MyForm, и при нажатии кнопки мыши на обьекте Мар происходит обработка события Map.MouseDown — это понятно
B>вот в нем то и надо вызавать this.Parent.OnMouseDown()
пробовал
вот код
private void MapControl_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
Debug.WriteLine("MapControl::MouseDown()");
Debug.WriteLine(this.Parent.Name);
Parent.OnMouseDown();
}
вот ответ компилера
Cannot access protected member 'System.Windows.Forms.Control.OnMouseDown(System.Windows.Forms.MouseEventArgs)' via a qualifier of type 'Control'; the qualifier must be of type 'MapControl' (or derived from it)
если б было не protected, a public
а так
есть public System.Windows.Forms.MouseEventHandler MouseDown, который перехватывает мышь, но как сказать ему "сработай!" ?
Здравствуйте, AlZakh, Вы писали:
AZ>есть public System.Windows.Forms.MouseEventHandler MouseDown, который перехватывает мышь, но как сказать ему "сработай!" ?
SendMessage(Parent.Handle, WM_LBUTTONDOWN, ...... << RSDN@Home 1.0 beta 4 >>