首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否有一种标准方法可以从Windows窗体中的自定义对话框返回值?

是的,有一种标准方法可以从Windows窗体中的自定义对话框返回值。在Windows窗体应用程序中,可以创建一个自定义对话框,并通过定义一个枚举类型来表示对话框的返回值。以下是一个简单的示例:

  1. 首先,创建一个自定义对话框。在Visual Studio中,右键单击项目,选择“添加”>“新建项”>“Windows窗体”>“Form”,并命名为“CustomDialog”。
  2. 在CustomDialog中,添加一些控件,例如按钮和标签,并设置它们的属性。
  3. 定义一个枚举类型来表示对话框的返回值。例如:
代码语言:csharp
复制
public enum DialogResult
{
    Ok,
    Cancel,
    Yes,
    No
}
  1. 在CustomDialog中,添加一个名为“Result”的公共属性,该属性返回DialogResult枚举类型的值。例如:
代码语言:csharp
复制
public partial class CustomDialog : Form
{
    public DialogResult Result { get; private set; }

    // 其他代码...
}
  1. 在CustomDialog中,为每个按钮的Click事件添加事件处理程序,以设置Result属性并关闭对话框。例如:
代码语言:csharp
复制
private void btnOk_Click(object sender, EventArgs e)
{
    Result = DialogResult.Ok;
    this.Close();
}

private void btnCancel_Click(object sender, EventArgs e)
{
    Result = DialogResult.Cancel;
    this.Close();
}

private void btnYes_Click(object sender, EventArgs e)
{
    Result = DialogResult.Yes;
    this.Close();
}

private void btnNo_Click(object sender, EventArgs e)
{
    Result = DialogResult.No;
    this.Close();
}
  1. 在主窗体中,显示CustomDialog并检查Result属性的值。例如:
代码语言:csharp
复制
private void btnShowDialog_Click(object sender, EventArgs e)
{
    var dialog = new CustomDialog();
    dialog.ShowDialog();

    if (dialog.Result == DialogResult.Ok)
    {
        // 处理“确定”按钮的单击事件
    }
    else if (dialog.Result == DialogResult.Cancel)
    {
        // 处理“取消”按钮的单击事件
    }
    else if (dialog.Result == DialogResult.Yes)
    {
        // 处理“是”按钮的单击事件
    }
    else if (dialog.Result == DialogResult.No)
    {
        // 处理“否”按钮的单击事件
    }
}

通过这种方法,可以从Windows窗体中的自定义对话框返回值,并根据返回值执行不同的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券