DateTimePicker DialogResult.OK

时间:2013-09-13 10:25:16

标签: c# winforms dialog datetimepicker

我现在有以下代码:

var picker = new DateTimePicker();
var form = new Form();
form.Controls.Add(picker);
var result = form.ShowDialog();
if (result == DialogResult.OK)
{
    //Can´t acces this
}
if (result == DialogResult.Cancel)
{
    //Do when Form closed
}

当表单出现时,其上只有picker,没有按钮。现在我只能在关闭表单时访问result == DialogResult.Cancel。使用result == DialogResult.OK

访问分支需要做什么

1 个答案:

答案 0 :(得分:0)

您可以在表单上添加2个按钮OKCancel,并正确处理Click个事件。关键是您必须使用DialogResult属性来关闭表单而不是Close()方法,如下所示:

//Click event handler for your OK button
private void OK_Click(object sender, EventArgs e){
    DialogResult = DialogResult.OK;
}
//Click event handler for your Cancel button
private void Cancel_Click(object sender, EventArgs e){
    DialogResult = DialogResult.Cancel;
}

或者只是您可以使用DialogResult的{​​{1}}属性(无需向Button事件处理程序添加代码):

Click

注意:只有在使用buttonOK.DialogResult = DialogResult.OK; buttonCancel.DialogResult = DialogResult.Cancel; 展示您的表单时,以上所有内容才有效。 否则,您必须手动关闭表单