方法 : 複数のプロパティを使用してダイアログ ボックス情報を個別に取得する
更新 : 2007 年 11 月
通常、ダイアログ ボックスから返される情報を処理する場合には、ダイアログ ボックスのデータの各要素を返すプロパティのセットを用意します。この方法で、ダイアログ ボックスから個別にデータを抽出できます。
ダイアログ ボックス内に互いに関連性のあるデータがある場合は、オブジェクトを使用して情報の一部を公開できます。詳細については、「チュートリアル : オブジェクトによるダイアログ ボックス情報の一括取得」を参照してください。
プロパティを使用してダイアログ ボックス情報を公開するには
ダイアログ ボックスのコードを含むクラスで、ダイアログ ボックス内の必要な情報を公開するためのプロパティをすべて作成します。公開するデータの種類に適した戻り値を指定します。
プロパティ定義の Get 部分にコードを追加します。ダイアログ ボックス以外でダイアログ ボックスの情報を変更できないようにする場合は、プロパティ定義の Set 部分を削除します。
ダイアログ ボックスに定義したプロパティを使用して、コンボ ボックス (cmbState) の値を公開する方法の例を次に示します。
Public Property StateSelected() As String Get Return cmbState.Text End Get Set(ByVal Value As String) End Set End Property
public string StateSelected { get { return cmbState.Text; } }
public String StateSelected() { return comboBox1.get_SelectedText(); }
公開するすべてのデータのプロパティを公開した後は、ダイアログ ボックスを使用するアプリケーションで、データを取得できます。
ダイアログ ボックスのプロパティのデータを取得するには
ダイアログ ボックスを表示するフォームで、ダイアログ ボックスを表示するイベント ハンドラかメソッドを開き、DialogResult プロパティの値を調べます。次の例で示すように、ダイアログ ボックスのフォームのプロパティの収集するコードを追加します。
Public Sub ShowMyDialog() ' Create and display an instance of the dialog box. Dim Dlg as New Form1() Dlg.ShowDialog() ' Determine the state of the DialogResult property for the form. If Dlg.DialogResult = DialogResult.OK Then ' Display the state that was selected in the dialog box's ' combo box in a MessageBox. MessageBox.show Dlg.StateSelected End If End Sub
private void ShowMyDialog() { // Create and display an instance of the dialog box. Form1 dlg = new Form1(); dlg.ShowDialog(); // Determine the state of the DialogResult property for the form. if (dlg.DialogResult == DialogResult.OK) { // Display the state that was selected in the dialog box's combo // box in a MessageBox. MessageBox.Show (dlg.StateSelected); } }
private void ShowMyDialog() { // Create and display an instance of the dialog box. Form1 dlg = new Form1(); dlg.ShowDialog(); // Determine the state of the DialogResult property for the form. if (dlg.get_DialogResult() == DialogResult.OK) { // Display the state that was selected in the dialog box's combo // box in a MessageBox. MessageBox.Show(dlg.StateSelected()); } }
参照
処理手順
方法 : ダイアログ ボックスを閉じて、ユーザー入力を保持する