对话框结果并在单击按钮时显示消息
本文关键字:显示 消息 按钮 单击 结果 对话框 | 更新日期: 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;
}