Winforms: 入力ダイアログ ボックスを作成および表示する方法
ポップアップ ダイアログ ボックスは、アプリのユーザーから必要な入力をすばやく取得するのに最適な方法です。 Windows フォーム アプリでフォームを作成する方法を学びます。
デスクトップ アプリケーションでは、ユーザーに情報を求めるときにダイアログ ボックスを使用するのが一般的です。新しいウィンドウを表示することで、Windows フォーム アプリケーションに入力ダイアログ ボックスを作成できます。
新しいダイアログ ウィンドウに UI 要素を追加することもできます。これらには、メッセージ、テキスト ボックス、[OK] ボタンと [キャンセル] ボタンが含まれます。ユーザーが入力ボックスに情報を入力すると、結果を保存してアプリの他の部分で使用できます。
入力ダイアログ ボックスをトリガーするオンクリック関数を作成する方法
ダイアログ ボックスは常に表示される必要はありません。ユーザーがボタンのクリックなどのアクションを完了したときにダイアログ ボックスを表示するようにトリガーできます。 Windows フォーム アプリで使用できる他の Windows フォーム イベントについて詳しく知ることもできます。
キャンバスにボタンを追加し、ユーザーがボタンをクリックしたときに実行される関数を作成します。
- Visual Studio で新しい Windows フォーム アプリケーションを作成します。
- ツールボックスで、ボタン UI コントロールを検索します。
-
ボタンをクリックしてキャンバスにドラッグします。
プロパティ ウィンドウで、ボタンのプロパティを次の新しい値に変更します:
プロパティ名
新しい価値
名前
ダイアログボタン
サイズ
400、100
文章
入力ダイアログを開く
- ツールボックスで、ラベルをクリックしてキャンバスにドラッグします。ラベルをボタンの右側に配置します。
プロパティ ウィンドウで、ラベルのプロパティを次の値に変更します:
< tr >
プロパティ名
新しい価値
名前
ラベル応答入力
見える
間違い
新しい入力ダイアログ ボタンをダブルクリックします。これにより、フォームの分離コード CS ファイルにオンクリック関数が生成されます。
private void dialogButton_Click(object sender, EventArgs e) { // The code here will trigger when the user clicks on the button // It will display the input dialog box }
入力ダイアログボックスの作成方法
新しい関数内にダイアログ ボックスを作成します。この関数はプログラムによって新しいフォームを作成し、そこに「OK」ボタンと「キャンセル」ボタンのあるテキスト ボックスなどの UI 要素を追加します。
dialogButton_Click() 関数の下に、入力ダイアログ ボックスを作成する新しい関数を作成します。 「title」パラメータはウィンドウの左上隅に表示されます。 「promptText」の値がユーザーに表示されます。 「value」パラメータは出力パラメータであり、ユーザーが入力ボックス内に入力した値を返します。
public static DialogResult InputBox(string title, string promptText, ref string value) { }
InputBox() 関数内で、フォームに表示する UI 要素を作成します。
Form form = new Form(); Label label = new Label(); TextBox textBox = new TextBox(); Button buttonOk = new Button(); Button buttonCancel = new Button();
フォームのタイトルを追加します。これは左上隅に表示されます。また、ユーザーに表示されるメイン メッセージを入力ボックスの上に追加します。
form.Text = title; label.Text = promptText;
「OK」ボタンと「キャンセル」ボタンの値を追加します。 text プロパティには、各ボタンの上部に表示されるテキストが含まれます。 DialogResult プロパティには、ボタンが表す結果のタイプが含まれます。 DialogResult の詳細については、Microsoft の公式ドキュメントを参照してください。
buttonOk.Text = "OK"; buttonCancel.Text = "Cancel"; buttonOk.DialogResult = DialogResult.OK; buttonCancel.DialogResult = DialogResult.Cancel;
SetBounds() メソッドを使用して、フォーム上のラベル、テキスト ボックス、ボタンの x 位置と y 位置を設定します。各要素の幅と高さを指定することもできます。
label.SetBounds(36, 36, 372, 13); textBox.SetBounds(36, 86, 700, 20); buttonOk.SetBounds(228, 160, 160, 60); buttonCancel.SetBounds(400, 160, 160, 60);
ダイアログ ウィンドウ自体のいくつかのプロパティを構成します。これらのプロパティは、フォームのサイズ、境界線、および開始位置を設定します。また、必要に応じて、ウィンドウを最小化または最大化する機能、またはラベルのサイズを変更する機能も制御します。
label.AutoSize = true; form.ClientSize = new Size(796, 307); form.FormBorderStyle = FormBorderStyle.FixedDialog; form.StartPosition = FormStartPosition.CenterScreen; form.MinimizeBox = false; form.MaximizeBox = false;
新しいフォームに UI 要素を追加し、フォームの承認ボタンとキャンセル ボタンを前に作成したボタン オブジェクトに設定します。
form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel }); form.AcceptButton = buttonOk; form.CancelButton = buttonCancel;
新しく作成したダイアログ ウィンドウをユーザーに表示します。
DialogResult dialogResult = form.ShowDialog();
ユーザーがテキストボックスに入力した値を保存します。ユーザーがクリックしたボタンに基づいて、フォームの結果 (「OK」または「キャンセル」) を返します。
value = textBox.Text; return dialogResult;
入力ダイアログボックスの使用方法
入力ダイアログ ボックスを使用するには、dialogButton_Click() 関数内の InputBox() 関数を呼び出します。ユーザーが「入力ダイアログを開く」ボタンをクリックすると、ダイアログボックスが表示されます。
dialogButton_Click() 関数内に、ユーザーがテキスト ボックス内に入力した値を保存する変数を作成します。この値は、「value」出力パラメータから取得されます。
string value = "";
InputBox() 関数を呼び出してダイアログ ボックスを表示します。ユーザーが「OK」ボタンをクリックしたかどうかを確認し、クリックした場合は、画面にテキストを追加してユーザーに応答を表示します。
if (InputBox("Dialog Box", "What is your name?", ref value) == DialogResult.OK) { labelResponseInput.Visible = true; labelResponseInput.Text = "Your name: " + value; }
入力ダイアログのポップアップを表示する方法
アプリケーションを実行し、ダイアログ ボックスをトリガーします。
Visual Studio ウィンドウの上部にある緑色の再生ボタンをクリックします。
[入力ダイアログを開く] ボタンをクリックしてダイアログ ボックスを表示します。
テキスト ボックスに名前を入力し、 [ OK ] ボタンをクリックします。ダイアログ ボックスが閉じ、テキスト ボックスに入力した結果が表示されます。
- [入力ダイアログを開く] ボタンを再度クリックして、ダイアログ ボックスを再度開きます。
- [キャンセル ] ボタンをクリックしてダイアログ ボックスを閉じます。これにより、アクションを完了したり UI を更新したりせずに、ダイアログ ボックスがキャンセルされます。
Windows フォーム アプリケーションへのコンテンツと UI 要素の追加
Windows フォーム アプリケーションで入力ダイアログ ボックスを作成し、特定のイベントが発生したときにそれをユーザーに表示できます。新しいフォームを作成することで、新しいダイアログ ウィンドウを作成できます。その後、ラベル、テキスト ボックス、ボタンなどの新しい UI 要素を追加できます。
ユーザーが必要な情報を入力したら、入力ボックスを閉じて、入力した情報を保存できます。
UI またはダイアログ ボックスにさらにコンテンツを追加したい場合は、他の UI 要素を追加する方法を検討できます。これには、形状や画像などの要素が含まれます。
関連記事:
- Visual Studio で最初の Windows フォーム (Winforms) アプリケーションを作成する方法
- Windows フォームでシンプルなファイル マネージャー アプリを構築する方法
- WinForms: アプリケーションに複数のテーマを追加する方法
- Winforms アプリケーションで確認ダイアログ ボックスを作成する方法
- Winforms アプリでドラッグ アンド ドロップ ファイル アップローダーを作成する方法
- Winforms: 毎秒更新するデジタル時計を作成する
- Ubuntu 22.04でモニター入力ソースを切り替えるショートカットキーを追加
- Vim エディターを使用して Linux のどこにでもテキストを入力
- Ubuntuで多言語入力方法をセットアップする方法
- Debian 8 Gnome デスクトップに中国語 Wubi 入力メソッドをインストールする方法
- Debian 8 Gnome デスクトップに中国語の Fcitx Wbpy 入力メソッドをインストールする
- OpenSUSE Leap 42.1 Gnome に中国語 Fcitx 入力メソッドをインストールする
- Bash を使用したファイルの読み取りと書き込み
- C++ でファイルを読み書きする方法
- getline 関数を使用してユーザー入力を (安全に) 読み取る方法