我现在有以下代码:
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
答案 0 :(得分:0)
您可以在表单上添加2个按钮OK
和Cancel
,并正确处理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;
展示您的表单时,以上所有内容才有效。 否则,您必须手动关闭表单