|
■No90620 (未来 さん) に返信 > CheckBoxで左クリックと右クリックに別の動作を割り当てたいと考えています。
一瞬、変わった操作方法だと思ってしまいましたが、よく考えたらそうでも無いのかな…。 Excel に貼った CheckBox でも、左クリックでチェック、右クリックでコントロール選択になったりしますしね。
マウス以外(たとえば Space キーなど)の操作をどう扱いたいのかは気になるところですが。
> Private Sub CheckBox_MouseClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.MouseClick > Select Case e.Button > Case Windows.Forms.MouseButtons.Left > 引数eの型宣言がSystem.EventArgsでないと > エラーとなるため、
どういうエラーになりますか?
System.Windows.Forms.CheckBox の MouseClick イベントは (sender As Object, e As MouseEventArg) のはずなんですが…。
ただいずれにせよ、MouseClick では右クリックを拾えないので、 MouseDown/MouseUp に切り替える必要がありそうです。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load CheckBox1.ThreeState = False CheckBox1.AutoCheck = False End Sub Private Sub CheckBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles CheckBox1.MouseUp If New Rectangle(Point.Empty, CheckBox1.Size).Contains(e.Location) Then CheckBox1.Checked = Not CheckBox1.Checked CheckBox1.Text = e.Button.ToString() End If End Sub
|