Вот пример одного из моих обработчиков событий формы мыши:Почему мои события мыши не запускаются?
private void GENIO_Viewer_Form_MouseDown(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Left)
{
m_bLeftButton = true;
m_MousePosition = e.Location;
m_MouseClick = e.Location;
if(m_bZoomWindow)
{
m_Points.Clear();
m_Points.Add(GetWorldCoordinates(e.Location));
}
}
base.OnMouseDown(e);
}
я поставил точку останова в нем, и он никогда не сработал. Я что-то пропустил в своем определении формы или что-то еще?
Update:
Форма имеет увеличенный TableLayerPanel поэтому я добавил дополнительный обработчик события:
private void tableLayoutPanel_MouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show("Yes");
}
Но даже это не получить перехвачены. TableLayoutPanel в свою очередь отображает объект UserControl1 (полученный из UserControl).
Проблема в том, что, даже если я добавлю правый обработчик (в UserControl), мне все равно придется откорректировать это до самой формы, так как я должен выполнить свою обработку.
Update: Это неполный список обработчиков событий для моей формы:
Форма не будет получать события мыши, если есть контроль на этом пути. Другими словами, вещь, на которую нажимают, получает события мыши. Если это элемент управления, тогда элемент управления получит события мыши. Здесь вы должны обращаться с ними. –
Ответы не должны быть помещены в вопрос. Если вы решите свою проблему, вы можете опубликовать свой ответ ниже. – LarsTech
@LarsTech Я (в конце концов), но я пробую этот PreviewMouseDown. –