gpt4 book ai didi

c# - 是否可以重载 ShowDialog() 以便子窗体将信息作为输出参数返回?

转载 作者:太空狗 更新时间:2023-10-29 23:57:58 25 4
gpt4 key购买 nike

在之前关于 how to return a string from a dialog window 的问题中, yapiskan 建议overloading the child form's ShowDialog() method包括一个输出参数。

我的问题是这在 C# 中是否是一个好的方法。

这里是一些示例代码,基于 yapiskan 的建议。在子窗体中(在此示例中,它是一个带有文本框的窗体),您只需添加 ShowDialog 重载并将 UI 值分配给 out 参数:

public DialogResult ShowDialog(out string s)
{
DialogResult result = this.ShowDialog();
s = this.textBox1.Text;
return result;
}

要显示表单并检索输入的文本,您可以这样做:

using (CustomDialog frm = new CustomDialog())
{
string s;
if (frm.ShowDialog(out s) == DialogResult.OK)
{
// do something with s
}
}

我能想到的一个优点是,这种方法强制 CustomDialog 表单的用户通过表单的 ShowDialog 方法(而不是从像 GetMyData() 这样的谁知道它所谓的方法)获取它包含的信息或其他东西)。

最佳答案

最好有一个公共(public)属性/方法并获取信息。

如果你需要 3..4..5 个信息,有 5 个参数,你会怎么做?让访问者从对话框中获取信息更加简洁。

关于c# - 是否可以重载 ShowDialog() 以便子窗体将信息作为输出参数返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/281257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com