No.3ベストアンサー
- 回答日時:
すでに回答が出ていますが「Form2に手を加えない(あるいは加えることが出来ない場合の)」方法を。
※Form2のボタン(Button1)がFriend(またはPublic)で生成されていることが前提です。
方法1:Form1側でForm2のButton1をWithEvent宣言した変数に格納する
[ Form1内 ]
Private WithEvents btnForm2 As Windows.Forms.Button
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frmNew As New Form2
btnForm2 = frmNew.Button1
frmNew.Show()
End Sub
Private Sub btnForm2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnForm2.Click
Windows.Forms.MessageBox.Show("クリック♪")
End Sub
Private Sub btnForm2_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnForm2.Disposed
' 後始末
btnForm2 = Nothing
End Sub
ただし、この方法では、ボタンを1つしか制御できません。Form2を複数生成する場合は、イベントハンドラを使う方法があります。
方法2:イベントハンドラを手動で追加・削除する
[ Form1内 ]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim frmNew As New Form2
'* インテリセンスではButton1が出てきませんが、手書きすれば大丈夫です。
AddHandler frmNew.Button1.Click, AddressOf Form2_Button1_Click
AddHandler frmNew.Button1.Disposed, AddressOf Form2_Button1_Disposed
frmNew.Show()
End Sub
Private Sub Form2_Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Windows.Forms.MessageBox.Show("クリック♪")
End Sub
Private Sub Form2_Button1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs)
' 後始末
Dim btnSender As Windows.Forms.Button = CType(sender, Windows.Forms.Button)
RemoveHandler btnSender.Click, AddressOf Form2_Button1_Click
RemoveHandler btnSender.Disposed, AddressOf Form2_Button1_Disposed
End Sub
No.2
- 回答日時:
フォームをたくさん使う必要があるのかどうか、よく検討したほうがいいですよ。
1枚のフォームで十分な場合が多そうですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Google Drive Google form を利用して 問い合わせフォームを作りたい 1 2022/04/25 14:15
- 英語 丁寧な伺い(参加可否を促したい)英文を知りたいです。 2 2022/06/28 06:57
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Google Maps パソコンの地図サイトなどで 3 2023/02/18 23:06
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
他のフォームから別のフォームのサブルーチンを呼び出す
Visual Basic(VBA)
-
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
【VB.NET】別Formのボタンが押されるまで待機する方法??
Visual Basic(VBA)
-
5
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
6
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
7
フォームの再読み込み
Visual Basic(VBA)
-
8
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
9
VB.NETでアクティブなformを知りたい
Visual Basic(VBA)
-
10
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
11
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
12
CloseとDisposeの違い
Visual Basic(VBA)
-
13
配列の重複する値とその個数を取得したい
Visual Basic(VBA)
-
14
VB.net
Visual Basic(VBA)
-
15
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
16
Hideについて(.NET)
Visual Basic(VBA)
-
17
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
18
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
19
変数の参照でエラーが出てしまいます。(VB.NET)
Visual Basic(VBA)
-
20
VB.NETで数秒間msgboxのようなものを出すには
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
Access VBA でデータペーストを...
-
VBAのボタンの位置が変わって困...
-
セルをマクロのボタンにしたい。
-
ユーザーフォームに別シートか...
-
VBA(エクセル)で自動的にボタン...
-
excel シート上のボタンが動かない
-
フォームの再読み込み
-
ボタンを押すごとに違ったメッ...
-
ASP.Net ラベルの内容をすぐに...
-
VBA CommandButtonの文字ずれ
-
VBA IE ダウンロード ダイアロ...
-
閉じると「+」になり開くと「-...
-
リストボックス 何も洗濯され...
-
【VBA】Accessを終了する前にメ...
-
VBA IE通知バーの制御 バー内の...
-
H8マイコン制御
-
Excel VBA実行中にワークシート...
-
CommandButtonのCaptionを変化...
-
[Excel VBA]コマンドボタンの入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
Excel VBA Application.caller...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
プロシージャからイベントをコ...
-
他のアプリケーションとの連携
-
閉じると「+」になり開くと「-...
-
C#で動的に作ったtextboxを消す。
-
ボタンをマウスで押し続けたと...
-
VBA でのボタンの移動について
-
CommandButtonのCaptionを変化...
-
ボタン
-
TextBoxでEnterキーを押すと、...
-
VB.net でトグルボタンを実現し...
おすすめ情報