3 回答
TA贡献1827条经验 获得超9个赞
我通常在表单/对话框上创建一个静态方法,我可以调用它。这将返回成功(OK按钮)或失败,以及需要填写的值。
public class ResultFromFrmMain {
public DialogResult Result { get; set; }
public string Field1 { get; set; }
}
并在表格上:
public static ResultFromFrmMain Execute() {
using (var f = new frmMain()) {
var result = new ResultFromFrmMain();
result.Result = f.ShowDialog();
if (result.Result == DialogResult.OK) {
// fill other values
}
return result;
}
}
打电话给你的表格;
public void MyEventToCallForm() {
var result = frmMain.Execute();
if (result.Result == DialogResult.OK) {
myTextBox.Text = result.Field1; // or something like that
}
}
TA贡献1878条经验 获得超4个赞
发现这个代码的另一个小问题...或者至少当我试图实现它时它是有问题的。
frmMain中的按钮没有返回兼容值,使用VS2010我添加了以下内容,一切开始正常。
public static ResultFromFrmMain Execute() {
using (var f = new frmMain()) {
f.buttonOK.DialogResult = DialogResult.OK;
f.buttonCancel.DialogResult = DialogResult.Cancel;
var result = new ResultFromFrmMain();
result.Result = f.ShowDialog();
if (result.Result == DialogResult.OK) {
// fill other values
}
return result;
}
}
添加两个按钮值后,对话框工作得很好!谢谢你的例子,它确实有帮助。
- 3 回答
- 0 关注
- 1707 浏览
添加回答
举报