如何:从对话框中检索数据

更新:2007 年 11 月

使用对话框,您的程序可以与用户进行交互,并检索用户在对话框中输入的数据以在应用程序中使用。有若干内置的对话框可以在应用程序中使用。有关更多信息,请参见在应用程序中使用内置对话框。您还可以创建您自己的对话框。

在用户单击应用程序主窗体上的按钮时显示一个对话框来收集信息,这是 Windows 窗体开发中的一项常见任务。有关此任务的示例,请参见 Visual C# 速成版 IDE。向窗体中添加一个 ListBox 控件时,可以在“属性”窗口中单击“Items”属性以显示一个对话框。借助此对话框,您可以在文本框的各行中快速键入文本。单击“OK”(确定)时,应用程序就会将每行文本添加到 ListBox 控件中。如果您希望用户在应用程序的列表框中添加自己的项,则可以创建您自己的字符串编辑器对话框。

创建应用程序的主窗体

  1. 在“文件”菜单上,单击“新建项目”。

    将出现“新建项目”对话框。

  2. 单击“Windows 窗体应用程序”,然后单击“OK”(确定)。

    一个名为 Form1 的窗体将添加到项目中。

  3. 将一个“ListBox”控件从“工具箱”中拖到此窗体上,然后在“属性”窗口中更改以下属性:

    属性

    Modifiers

    Public

  4. 将一个“Button”控件添加到此窗体中,然后在“属性”窗口中更改以下属性:

    属性

    Name

    addItems

    Text

    Add(添加)

创建对话框

  1. 在“项目”菜单上,单击“添加 Windows 窗体”,保留默认名称 Form2,然后单击“Add”(添加)。

  2. 将一个 Label 控件从“工具箱”中拖到此窗体上,然后将“Text”属性更改为“输入字符串(每行一个)”。

  3. 向此窗体添加一个 TextBox 控件,然后在“属性”窗口中更改以下属性。

    属性

    Multiline

    True

    Scrollbars

    Both

    Size

    255, 160

  4. 向此窗体添加一个 Button 控件,然后在“属性”窗口中更改以下属性:

    属性

    Name

    okButton

    Text

    OK(确定)

从对话框中检索数据

在 Windows 窗体之间传递数据的方式有多种。在此示例中,您会将 Form1 传递给 Form2 的构造函数。

从对话框中检索数据

  1. 双击“OK”(确定)按钮以创建默认的 Click 事件处理程序。

    在向此过程添加代码之前,应当为主窗体创建一个变量,并为 Form2 类创建一个新的构造函数。

  2. 在默认的构造函数下面添加以下代码。此代码将创建一个重载的构造函数,该构造函数需要 Form1 作为参数。

    Form1 mainForm;
    
    public Form2(Form1 mainForm)
    {
        this.mainForm = mainForm;
        InitializeComponent();
    
    }
    
  3. 在 okButton 的 Click 事件处理程序中,添加以下代码。此代码将清除列表框中所有的现有文本,将 Form2 上的文本框的每行文本赋给一个数组,然后将该数组的每一项添加到 Form1 上的列表框中。

    if (this.textBox1.Text != string.Empty)
    {
    
        mainForm.listBox1.Items.Clear();
    
        string[] stringsEntered = textBox1.Lines;
    
        for (int count = 0; count < stringsEntered.Length; count++)
        {
    
            mainForm.listBox1.Items.Add(stringsEntered[count]);
    
        }
    
    }
    this.Close();
    
  4. 在“解决方案资源管理器”中右击 Form1,然后单击“视图设计器”。

  5. 双击“Add”(添加)按钮以添加默认的 Click 事件处理程序,然后添加以下代码以创建 Form2 的一个实例并显示该窗体:

    Form2 subForm = new Form2(this);
    subForm.Show();
    
  6. 按 F5 运行代码。

  7. 在此窗体打开时,单击“Add”(添加)。

  8. 在对话框打开时,键入下面的颜色列表,并在键入每个单词后按 Enter。

    蓝色

    绿色

    黄色

    红色

  9. 单击“OK”(确定)。

  10. 验证在此对话框中键入的数据是否会在 Form1 的列表框中显示。

  11. 关闭应用程序。

请参见

概念

在应用程序中使用内置对话框

在 Visual C# 中设计用户界面

其他资源

对话框 (Visual C#)

Visual C# 指导教程