私はまったく同じ問題について このスレッド を見てきましたが、その解決策は私にはうまくいきませんでした。
基本的に、私が達成しようとしているのは、ユーザーがWindowsフォームのグラフコントロールを操作しているときのマウスホイールイベントです。
今、私はいくつかの異なることを試みました。
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");
}
残念ながら、私はくそったれを発射させることができませんか?誰かが私がどこで間違っているのか教えてもらえますか?前もって感謝します!
マウスホイールイベントが発生するように、chartcontrolに焦点を合わせる必要があります。マウスがコントロールに入るときにフォーカスを設定し、マウスがコントロールから離れるときに親にフォーカスを戻すことができます。
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();
}