• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストボックスでConfirmMessage)

VB.NET 2010でConfirmMessageのテキストボックス版を作成する方法

このQ&Aのポイント
  • VB.NET 2010を使用して、Windowsフォーム画面の開発をしている場合、ConfirmMessageのテキストボックス版を作成する方法を教えてください。
  • 特定の文字を入力するまで処理を待機する動作を実現したいです。
  • TextBoxのValidatingイベントを使用して、フォーカスが抜けないようにする処理を追加し、Timerを使用して待機時間を設定しますが、その後の処理方法がわかりません。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

ConfirmMessage という言い方を日本人は中々しないと 思うんですよ。既存の確認メッセージって、Messagebox.Show でまとめられてて、呼び出し時の引数でアイコンやボタンが 変わりますからね。メッセージボックスと言った方が通じると 思います。それとももっと別なものなんでしょうか? Messagebox という既存の部品があるのだから、動作は まねた方が良いと思います。確認メッセージというのは 選ばれた選択肢に応じた戻り値を返します。呼び出し側で それを元に条件分岐できるわけです。 戻り値は DialogResult 列挙体でまとめられています。 そのまま使ってしまえばすぐ出来てしまいますが。 質問文では ConfirmMessage の方で何かしようとしている ような説明なので、何がしたいのかよく分からないです。 >「"Y"か"N"が入れられるまではフォーカスが抜けない」 というのは、"Y"か"N"が入れられたらフォーカスを抜け るという事ですか? それならそのタイミングで"Y"が入っているか"N"が入ってるか 見て処理を分ければいいのでは?(Timer要りませんね) 特に悩むような内容がこちらに伝わってきませんでしたが。

kapibaraPG
質問者

お礼

回答ありがとうございます 説明不足があってすいません MessageConfirm は 「showで、ボタンをはい、いいえにしているメッセージボックス」のことです そして、今回は「マウスを使わない画面」なので、メッセージボックスの類は一切使えません テキストボックスやマスクテキストボックス、フレックスグリッド、タブページ(とファンクションキー)で構成しています DOS画面のようなイメージです >「"Y"か"N"が入れられるまではフォーカスが抜けない」 >というのは、"Y"か"N"が入れられたらフォーカスを抜け >るという事ですか? そのような感じです 「"Y"か"N"が入れられて、エンターを押したら再びMe.Close()処理を行う」にしました "YかNを入れられるまでフォームを閉じる処理を止める"ということにばかり気を取られて、テキストボックスのキーダウンを見逃していました ありがとうございました

その他の回答 (1)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

> そして、今回は「マウスを使わない画面」なので、メッセージボックスの類は一切使えません マウス使わなくてもメッセージボックスは使えるけどね。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  Select Case MessageBox.Show("test", "test", MessageBoxButtons.YesNo)   Case Windows.Forms.DialogResult.Yes    MessageBox.Show("Yes")   Case Windows.Forms.DialogResult.No    MessageBox.Show("No")  End Select End Sub メッセージボックスで"Y","N"押してみたら?

kapibaraPG
質問者

お礼

回答ありがとうございます 試してみました キーボードでもできるのですね! 初めて知りました! 今回は、AVXみたいな画面をwindowsで再現しないとなのでメッセージボックスを出すことも禁止なんです・・・ ありがとうございました

関連するQ&A