对话框结果并在单击按钮时显示消息

本文关键字:显示 消息 按钮 单击 结果 对话框 | 更新日期: 2023-09-27 18:35:59

我有两种形式Form1和Form2。

在 Form1 中,我调用 Form2,我想拦截用户按钮单击选项。如果 Form2 上的用户单击了"确定"或"取消"按钮,所以我尝试

var editForm = new Form2();
editForm.ShowDialog();
if (editForm.DialogResult == DialogResult.OK)
 {
      MessageBox.Show("ok btn is pressed!");
      editForm.Dispose();
 }
 else
 {
      MessageBox.Show("cancel btn is pressed!");
      editForm.Dispose();
 }

在 Form2 上,我有点击事件

private void BtnOk_Click(object sender, EventArgs e)
{
   _Repository.Create(mydata);
}
private void btnCancel_Click(object sender, EventArgs e)
  {
       Close();
  }

显示消息仅显示在"取消"按钮上,而不显示在"确定"上。我做错了什么?

对话框结果并在单击按钮时显示消息

在关闭前设置dialog result

private void BtnOk_Click(object sender, EventArgs e)
{
     _Repository.Create(mydata);
     DialogResult = DialogResult.Ok;
     Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
     Close();
}

在表单 1 上:

  using (Form2 editForm = new Form2())
            {
                editForm.ShowDialog();
                if (editForm.DialogResult == DialogResult.OK)
                {
                    MessageBox.Show("ok btn is pressed!");
                    editForm.Dispose();
                }
                else
                {
                    MessageBox.Show("cancel btn is pressed!");
                    editForm.Dispose();
                }
            }

在表格 2 上:

    private void BtnOk_Click(object sender, EventArgs e)
    {
        _Repository.Create(mydata);
        this.DialogResult = DialogResult.OK;
    }
    private void btnCancel_Click(object sender, EventArgs e)
    {
        this.DialogResult = DialogResult.Cancel;
    }