表单是否有返回值的方法?类似......
sub main()
Dim task as new TaskForm()
dim res as integer=0
res = task.opendialog()
end sub
答案 0 :(得分:1)
这取决于您想要返回的内容。如果要显示一个对话框并确定用于关闭它的按钮(确定,取消,...),您可以使用ShowDialog
方法显示表单,该方法返回DialogResult
值:
DialogResult result = theForm.ShowDialog();
if (result == DialogResult.OK)
{
// OK was clicked
}
如果要返回其他值,最简单的方法是通过表单上的属性公开它,或者在表单中提供静态方法,创建它的实例,收集所需的输入而不是返回数据:
class NameInputForm : Form
{
// form initialization / construction left out for brevity, but let's assume
// it contains a TextBox control called UserNameTextBox and a button with
// its DialogResult property set to OK
public static string GetNameFromUser()
{
using (NameInputForm form = new NameInputForm())
{
if (form.ShowDialog() == DialogResult.OK)
{
return form.UserNameTextBox.Text;
}
}
return "";
}
}
答案 1 :(得分:1)
如果您使用ShowDialog
,则可以将表单的DialogResult
属性设置为值。请注意,表单不能以这种方式返回任意结果,只能返回DialogResult
enumeration。
否则,您必须设置表单的Tag
属性,并在表单关闭后手动检索它,但在您放弃对它的引用之前。