我有一些自定义对话框上有设置按钮,我希望当我退出newBlockForm.ShowDialog(this);
以获得对话框结果时,如果用户按下该按钮。
就像我在winforms对话框中所做的那样
if(MessageBox.Show("Exit?", "Close UP",
MessageBoxButtons.YesNo)== DialogResult.Yes)
知道我是怎么做的吗?
答案 0 :(得分:10)
您可以在对话框表单上使用按钮的DialogResult属性,并将其设置为DialogResult Enumeration,如:
//in your dialog form
button1.DialogResult = DialogResult.OK;
然后以你的主要形式:
//Create an instance of your dialog form
Form2 testDialog = new Form2();
// Show testDialog as a modal dialog and determine if DialogResult = OK.
if (testDialog.ShowDialog(this) == DialogResult.OK)
{
//do processing
}
else
{
//do processing
}
答案 1 :(得分:3)
将表单上的AcceptButton
属性映射到设计器中的Set
按钮。
或者在“设置”按钮单击处理程序中,您可以设置一些值。
private void HandleOnSetButtonClick(object sender, EventArgs e)
{
this.IsSetClicked = true;
this.Close();
//or
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
}
public Boolean IsSetClicked
{
get;
private set;
}
答案 2 :(得分:0)
ShowDialog
方法会自动返回DialogResult
,您可以通过在表单设计器中设置相关按钮的DialogResult
来自动设置。