前提・実現したいこと
vb.netで電卓を作成しています。
電卓のボタンをクリックした時にフォーカスが発生してまうのを防ぐため、
フォーカスをとらないボタンを作成しました。
するとそれまで受け付けていたキー入力もうけとらなくなってしまいました。
調べたところ、PerformClick()を使っていることが原因だと判明し、OnClick()を使えばよいことがわかったのですが
どう継承してつかったらいいのかがわかりません。
初歩的な質問だと思うのですがよろしくお願い致します。
該当のソースコード
vb.net
1カスタムコントロール部分 2Public Class CustomControl1 3 Inherits Button 4 5 Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) 6 7 MyBase.OnPaint(e) 8 9 Me.SetStyle(ControlStyles.Selectable, False) 10 11 End Sub 12 13End Class 14 15フォーム部分 16''' <summary> 17 ''' キーボード割り当て 18 ''' </summary> 19 Public Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown 20 21 Select Case e.KeyCode 22 23 'Enterキー 24 Case Keys.Enter 25 26 btnEcho.PerformClick() 27 28 'BackSpaceキー 29 Case Keys.Back 30 31 btnBack.PerformClick() 32 33 'Deleteキー 34 Case Keys.Delete 35 36 btnCre.PerformClick() 37 38 '小数点キー 39 Case Keys.Decimal 40 41 btnDots.PerformClick() 42... 43 44--以下キー割り当てと電卓機能処理
補足情報(FW/ツールのバージョンなど)
visual studio 2013

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/02 02:29
2018/08/02 03:16
2018/08/02 04:09