|
■No89332 (tora さん) に返信 > これを避けるにはどうしたら良いですか?
どのコントロールをクリックしたのかを意識せずに、 どこでホイールをクリックしても反応させたいのであれば、 DirectInput で捕らえた方が手っ取り早いかもしれません。
> あと、TablelayoutpanelやGroupboxを押した時 > 二度押ししたみたいに二回実行されてしまうのですが、
当方環境では再現しませんでした。
Handles 句付きのイベントハンドラに対して、追加で AddHandler を呼び出したり、 同じコントロールのイベントに対して、AddHandler を複数回呼び出しては していないでしょうか?
Public Class Form1 Private WithEvents tlp As TableLayoutPanel
Public Sub New() InitializeComponent() Controls.Clear()
tlp = New TableLayoutPanel() tlp.Name = "tlp" tlp.BackColor = Color.Cyan tlp.CellBorderStyle = TableLayoutPanelCellBorderStyle.OutsetPartial tlp.RowCount = 2 tlp.ColumnCount = 2 tlp.RowStyles.Add(New RowStyle(SizeType.Percent, 50)) tlp.RowStyles.Add(New RowStyle(SizeType.Percent, 50)) tlp.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50)) tlp.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50)) tlp.Parent = Me End Sub
Private Sub tlp_MouseClick(sender As Object, e As MouseEventArgs) Handles tlp.MouseClick Debug.WriteLine("tlp " & e.Button.ToString()) End Sub
Protected Overrides Sub OnMouseClick(e As MouseEventArgs) Debug.WriteLine("Form1 " & e.Button.ToString()) MyBase.OnMouseClick(e) End Sub End Class
|