Событие Mousewheel не стреляет - программирование
Подтвердить что ты не робот

Событие 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");
}

К сожалению, я не могу заставить штопать огонь? Может ли кто-нибудь сказать мне, где я ошибаюсь? Спасибо заранее!

4b9b3361

Ответ 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();
}