表格关闭时不应该

时间:2012-12-24 20:20:30

标签: c# winforms

我的应用程序中有两个表单。我打电话给Form 2的方式是这样的:

表格1:

private void btnTest_Click(object sender, EventArgs e)
{
    DialogResult result = new System.Windows.Forms.DialogResult();
    Add_Link addLink = new Add_Link();
    result=addLink.ShowDialog();

    if (result == System.Windows.Forms.DialogResult.OK)
    {
        //
    }
}

表格2:

private void btnAdd_Click(object sender, EventArgs e)
{            
    if(validURL(txtSubLink.Text))
    {
        HyperLink add = new HyperLink(txtSubLink.Text,txtSubText.Text,"URL");
        this.build = add;                 
    }
    else
    {
        MessageBox.Show("Valid URL Needed! " + txtSubLink.Text, "ERROR");
    }             
}

我的问题是,如果用户点击Add按钮,则会显示错误消息(因为数据无效或文本框为空)但是它会关闭表单。我只希望用户关闭表单并在两个文本框包含正确的数据时传回数据。如果两个文本框中没有包含正确数据 OR 为空,则当用户单击“添加”时,应显示错误消息,并且Form 2应保持打开状态,如何获取该文本框发生......?

1 个答案:

答案 0 :(得分:8)

我怀疑您的btnAddDialogResult属性设置为OK。取消设置,然后在对输入感到满意时在事件处理程序中添加this.DialogResult = DialogResult.OK

private void btnAdd_Click(object sender, EventArgs e)
{

    if(validURL(txtSubLink.Text))
    {
         HyperLink add = new HyperLink(txtSubLink.Text,txtSubText.Text,"URL");
         this.build = add;
         this.DialogResult = DialogResult.OK;

    }
    else
    {
        MessageBox.Show("Valid URL Needed! " + txtSubLink.Text, "ERROR");
    }

}