- 締切済み
VB2005でのWithEventsについて
お世話になります、当方現在データベースアプリをVB2005proで作成しているのですが、VB6→VB2005への更新です。 VB6の時は複数プログラムで作成したため、あえて、アップグレードウィザードを使用せずに作成しております(デザインも変更したい為) それで、今回質問させて頂きたいのは、複数のフォームに貼り付けたボタンイベントを同じ処理で分岐できないかどうか教えて頂きたいのです。 具体的にはフォームにボタンを5個ほど用意して。フォームのクリックイベントでF1キーが押されたらButton1_Clickイベント、F2キーが押されたらButton2_Clickイベント などのショートカット機能を実装したいのです。 VB6の場合は共有クラスにWithEventsでForm型を宣言して、Load時にロード元のフォームをWithEventsのフォーム型にセットすればイベントを認識してくれたと思うのですが。同じことを.NETで行っても、イベントをハンドルしてくれませんでした。 .NETでは各フォームイベント毎に記述するしかないのでしょうか? 初心者の質問で申し訳ありませんが、何卒よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- NOBNNN
- ベストアンサー率50% (93/186)
渡しもVB.NETはまだまだですが下記内容でどうでしょうか ====================================== Public Class テストForm Private Sub PictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click, PictureBox2.Click Select Case True Case sender Is Me.PictureBox1 Me.CheckBox1.Checked = Not Me.CheckBox1.Checked Case sender Is Me.PictureBox2 Me.CheckBox2.Checked = Not Me.CheckBox2.Checked End Select End Sub End Class ============================================================ サンプルは2つのピクチャーBOX のうちどちらかをクリックするとチェックボックスがONになります。 一つのフォームイベントに2つのハンドルが書かれています。
お礼
回答ありがとうございます。 質問の原因としましては、FormのKeyPreViewプロパティの未設定でした。 ですが、上記のサンプルも、ハンドルの使い方で、分岐処理に使えそうですね。 今後参考にさせて頂きます。ありがとうございました。