我的应用程序中有两个表单。我打电话给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
应保持打开状态,如何获取该文本框发生......?
答案 0 :(得分:8)
我怀疑您的btnAdd
将DialogResult
属性设置为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");
}
}