如果仅在另一个表单中单击按钮时如何运行代码

时间:2012-12-18 03:29:51

标签: c# winforms events button

我创建了一个新表单,其按钮标记为“确定”和“取消” 通过单击第一个表单中的按钮弹出此表单。我只想在新的自定义表单中单击“确定”按钮时才运行一些代码。这不是MessageBox()。

到目前为止,我有这样的事情:

CustomForm c = new CustomForm();
DialogResult r = c.DialogResult;

c.ShowDialog();

if (r == DialogResult.OK)
{
    //Run code
}

然而这不起作用。我该如何正确编码?我还将“OK”按钮设置为CustomForm中的AcceptButton。

3 个答案:

答案 0 :(得分:4)

也许更喜欢像这样压缩它:

CustomForm c = new CustomForm();

if (c.ShowDialog() == DialogResult.OK) {
    // run code
}

另外,请记住,您必须将另一个表单上的按钮的DialogResult设置为OK:

DialogResult Property

DialogResultenum。因此,它按值复制..而不是通过引用。

答案 1 :(得分:0)

您需要在访问结果之前显示对话框。现在,您正在创建对话框,将值存储在变量中,然后允许用户更改对话框的结果。这样做会更改变量中存储的值。

答案 2 :(得分:0)

您已经提到它们是两个按钮,然后您可以使用OK按钮的按钮单击事件来执行您的操作。 如果我理解你的问题,这可能是正确的.//