5

我的申请中有两个表格。我打电话的方式Form 2是这样的:

表格一:

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按钮,则会显示错误消息(因为数据无效或文本框为空)它会关闭表单。如果两个文本框包含正确的数据,我只希望用户关闭表单并将数据传回。如果两个文本框不包含正确的数据为空,则当用户单击添加时,应显示错误消息,并且Form 2应保持打开状态,我该如何实现...?

4

1 回答 1

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");
    }

}
于 2012-12-24T20:24:07.300 回答