как в С# сгенерировать ручками событие у Parent-а?
От: AlZakh  
Дата: 19.03.03 13:34
Оценка:
у меня есть 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)

**Весна, жизнь бьёт ключем, да всё по голове...**
Re: как в С# сгенерировать ручками событие у Parent-а?
От: Banch  
Дата: 19.03.03 14:22
Оценка:
Здравствуйте, AlZakh, Вы писали:

AZ>я размещаю свой MapControl на форме MyForm, и при нажатии кнопки мыши на обьекте Мар происходит обработка события Map.MouseDown — это понятно :)


вот в нем то и надо вызавать this.Parent.OnMouseDown()
Re[2]: как в С# сгенерировать ручками событие у Parent-а?
От: AlZakh  
Дата: 19.03.03 14:46
Оценка:
Здравствуйте, 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, который перехватывает мышь, но как сказать ему "сработай!" ?
Re[3]: как в С# сгенерировать ручками событие у Parent-а?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.03.03 14:50
Оценка:
Здравствуйте, AlZakh, Вы писали:

AZ>есть public System.Windows.Forms.MouseEventHandler MouseDown, который перехватывает мышь, но как сказать ему "сработай!" ?


SendMessage(Parent.Handle, WM_LBUTTONDOWN, ...
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.