从自定义对话框中获取DialogResult

时间:2011-02-16 07:49:05

标签: c# .net winforms

我有一些自定义对话框上有设置按钮,我希望当我退出newBlockForm.ShowDialog(this);以获得对话框结果时,如果用户按下该按钮。

就像我在winforms对话框中所做的那样

if(MessageBox.Show("Exit?", "Close UP", 
     MessageBoxButtons.YesNo)== DialogResult.Yes)

知道我是怎么做的吗?

3 个答案:

答案 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来自动设置。