vb2010で、作成しています。form1から、form2を呼び出し、okボタンまたは、cancelボタンを押すと、無条件でform2が消えてしまいます。私がしたいのは、form2(パスワード入力ウィンドウ)でテキストボックスにパスワードを入力してokボタンを押して、それが正しい(1234)ときのみform2を消去することです。現在のところ、入力したパスワードが間違っていてもokボタンを押すと、form2は消えてしまいます。
form1側のコードとform2側のコードは以下です。お手数ですが御教示いただけると幸いです。
/////////Form1
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f As New Form2()
f.TextBox1.PasswordChar = "*"c '//入力文字をマスクする
If f.ShowDialog(Me) = DialogResult.OK Then
If f.TextBox1.Text = "1234" Then
f.Dispose()
End If
End If
End Sub
End Class
/////////Form2
Public Class Form2
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
Dim f As Form1
f = Me.Owner
Me.DialogResult = DialogResult.OK
End Sub
Private Sub btncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncancel.Click
Dim f As Form1
f = Me.Owner
Me.DialogResult = DialogResult.Cancel
End Sub
End Class
No.1ベストアンサー
- 回答日時:
Form の DialogResult プロパティに値を設定するとそのフォームが非表示になります。
パスワードがあってるかどうかの判定は Form2 の方で行いましょう。
/////////Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f As New Form2()
f.TextBox1.PasswordChar = "*"c '//入力文字をマスクする
If f.ShowDialog(Me) = DialogResult.OK Then
// パスワードが一致したときの処理をここに書く
// (「Form2 の結果が OK = パスワードが一致した」ということだから改めてここでパスワードを確認する必要は無い)
End If
End Sub
End Class
/////////Form2
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
Dim f As Form1
f = Me.Owner
If Me.TextBox1.Text = "1234" Then
Me.DialogResult = DialogResult.OK
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユニクロやGUのシフト管理アプ...
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
大学定期試験過去問サイト「過...
-
メールのマナー編
-
メールを返信したら、英語のメ...
-
メールアドレス 上バーの入力...
-
メールアドレスで上付きのハイフン
-
YouTubeが毎回ログインしないと...
-
CSVファイルを添付するときにパ...
-
LINE TCBというところからLINE...
-
カカオで退会せずに、アプリだ...
-
メールエラー
-
星の王子さまというアプリで、 ...
-
インスタのアカウントの消し方...
-
エクセルで複数ファイルに同一...
-
ワードに入力したメールアドレ...
-
「@」(アットマーク)の無いメ...
-
email.ne.jpのメールアドレスを...
-
インスタのアイコンについてるN...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
LINE TCBというところからLINE...
-
メールアドレス 上バーの入力...
-
大学定期試験過去問サイト「過...
-
メールエラー
-
メールのマナー編
-
メールアドレスで上付きのハイフン
-
インスタの捨て垢で友達のスト...
-
インスタのアイコンについてるN...
-
メールを返信したら、英語のメ...
-
steam版 apexのログアウト方法...
-
ビーリアルのユーザー名を変え...
-
メールアドレスから個人を特定...
-
携帯電話を解約してもSMSの受信...
-
「@」(アットマーク)の無いメ...
-
YouTubeが毎回ログインしないと...
-
解約済みの iPadについて 解約...
-
カカオで退会せずに、アプリだ...
-
CSVファイルを添付するときにパ...
おすすめ情報