我现在有以下代码:
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访问分支需要做些什么
发布于 2013-09-13 12:52:36
您可以在窗体上添加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;
}或者只需使用Button的Button属性(不需要向Click事件处理程序添加代码):
buttonOK.DialogResult = DialogResult.OK;
buttonCancel.DialogResult = DialogResult.Cancel;注意到:只有在使用ShowDialog()显示表单时,上述所有内容才能正常工作。否则,您必须手动关闭窗体。
https://stackoverflow.com/questions/18784038
复制相似问题