【问题标题】:How to run code only if button was clicked in another form仅当以另一种形式单击按钮时如何运行代码
【发布时间】:2012-12-05 05:43:07
【问题描述】:

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

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

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

c.ShowDialog();

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

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

【问题讨论】:

    标签: c# winforms events button


    【解决方案1】:

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

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

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

    DialogResult 是一个enum。因此,它是按值复制的,而不是按引用复制的。

    【讨论】:

    • 这行得通。谢谢!设置按钮 DialogResult 正是我所缺少的。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-09
        • 2016-01-30
        • 2020-03-21
        • 2019-05-07
        • 2011-09-05
        相关资源
        最近更新 更多