Событие Mousewheel не стреляет
Я просмотрел эту тему относительно той же самой проблемы, но это решение не сработало для меня.
В основном, что я пытаюсь выполнить, это событие колеса мыши, когда пользователь взаимодействует с элементом управления диаграммой в форме окна.
Сейчас я попробовал несколько разных вещей.
public mainForm()
{
InitializeComponent();
this.chData.MouseWheel +=new MouseEventHandler(chData_MouseWheel);
}
Также я попытался добавить это в mainForm.Designer.cs:
this.chData.TabIndex = 2;
this.chData.Text = "chart2";
this.chData.MouseWheel +=
new System.Windows.Forms.MouseEventHandler(this.chData_MouseWheel);
this.chData.MouseClick +=
new System.Windows.Forms.MouseEventHandler(this.chData_MouseClick);
this.chData.MouseDoubleClick +=
new System.Windows.Forms.MouseEventHandler(this.chData_MouseDoubleClick);
this.chData.MouseMove +=
new System.Windows.Forms.MouseEventHandler(this.chData_MouseMove);
(Я включил весь блок здесь для демонстрации). У меня также есть функция, определенная как таковая ниже:
private void chData_MouseWheel(object sender, MouseEventArgs e)
{
MessageBox.Show("FJDKS");
}
К сожалению, я не могу заставить штопать огонь? Может ли кто-нибудь сказать мне, где я ошибаюсь? Спасибо заранее!
Ответы
Ответ 1
Контроллер диаграммы должен быть сфокусирован таким образом, чтобы могло произойти событие mousewheel. Вы можете установить фокус, когда мышь вводится в элементе управления, и отдайте фокус его родителям, когда он покинет его.
void friendChart_MouseLeave(object sender, EventArgs e)
{
if (friendChart.Focused)
friendChart.Parent.Focus();
}
void friendChart_MouseEnter(object sender, EventArgs e)
{
if (!friendChart.Focused)
friendChart.Focus();
}