用户在函数内输入和接受

时间:2011-01-02 22:38:34

标签: c#

我的功能接受用户输入,然后在用户点击确定时做一些工作。

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
        }
我错过了什么。 的问候,

2 个答案:

答案 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属性,现在您不需要编写代码。然而,这通常不合适,您通常要检查用户是否提供了您需要的所有信息。因人而异。