我的功能接受用户输入,然后在用户点击确定时做一些工作。
private void cannyToolStripMenuItem_Click(object sender,EventArgs e) { 精明的(); }
private void canny()
{
// get user input
// if user clicks ok
if (ok button is clicked)
{
messagebox.show(" you clicked ok")
//
//do dome work
//
}
}
但我看不到任何留言箱。我错过了什么。
private void ok_Click(object sender, EventArgs e)
{
// should I add here some thing
}
我错过了什么。
的问候,
答案 0 :(得分:3)
我认为您要实现的目标是从对话框中获取结果。如果是这种情况,您想要执行以下操作:
private void ShowDialogAndDoSomethingBasedOnTheResult()
{
DialogResult result = MessageBox.Show(
"Dialog text",
"Caption to go in title bar",
MessageBoxButtons.OK);
if (result == DialogResult.OK)
{
//Do work
}
}
有关更多示例,请参阅http://msdn.microsoft.com/en-gb/library/0x49kd7z.aspx。
答案 1 :(得分:1)
嗯,是的,你这样做:
private void ok_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Ok;
}
关闭对话框,只要DialogResult属性为None,它就会保持运行状态。它不是绝对必要的,您也可以使用设计师。更改按钮的DialogResult属性,现在您不需要编写代码。然而,这通常不合适,您通常要检查用户是否提供了您需要的所有信息。因人而异。