0

我现在有以下代码:

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

4

1 回答 1

0

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

//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;
}

或者只是你可以使用DialogResulta 的属性Button(无需向Click事件处理程序添加代码):

buttonOK.DialogResult = DialogResult.OK;
buttonCancel.DialogResult = DialogResult.Cancel;

注意:只有当您使用ShowDialog(). 否则,您必须手动关闭表单

于 2013-09-13T12:52:36.003 回答