这是一个简单的问题,但我不知道问题出在哪里。我有一个包含一些代码的表单,当我点击“crear”按钮时,在该按钮中我调用函数“Comprobar”,如果文本框为空,则查询,如果“Comprobar”为false则显示消息。< / p>
问题:单击“Crear”按钮后,表单显示消息(如果全部为空),然后表单关闭。
这是代码
public partial class FrmNuevaCita : MetroForm
{
DataTools mytool = new DataTools();
DataSet ds = new DataSet();
BindingSource bs = new BindingSource();
// string searchDate = "";
int codigoPaciente = -1;
FrmBuscarPaciente BuscarPaciente = new FrmBuscarPaciente();
public FrmNuevaCita()
{
InitializeComponent();
BuscarPaciente.SetCode += new EventHandler(YouCliked);
}
private void YouCliked(object sender, EventArgs e)
{
codigoPaciente = BuscarPaciente.GetCodigoPaciente;
//MessageBox.Show("Codigito es " + codigoPacienteActual.ToString());
txtPaciente.Text = codigoPaciente.ToString();
}
public DateTime SetDate
{
set { dtpFechaCita.Value = value; }
}
private void mbCancelar_Click(object sender, EventArgs e)
{
this.Close();
}
private void metroRadioButton_CheckedChanged(object sender, EventArgs e)
{
this.cmbHora.Items.Clear();
if (metroRadioButton1.Checked == true)
{
this.cmbHora.Items.AddRange(new object[]
{"8:00","8:30","9:00","9:30","10:00","10:30","11:00","11:30"});
}
else if (metroRadioButton2.Checked == true)
{
this.cmbHora.Items.AddRange(new object[] { "12:00", "12:30", "13:00", "13:30", "14:00", "14:30", "15:00", "15:30","16:00","16:30","17:00","17:30","18:00","18:30","19:00" });
}
}
private void mtBuscar_Click(object sender, EventArgs e)
{
BuscarPaciente.Show();
}
private void mbCrear_Click(object sender, EventArgs e)
{
if (Comprobar()==false)
MessageBox.Show("Por favor complete todos los campos");
}
private bool Comprobar()
{
bool result = false;
if (txtPaciente.Text.Trim().Length != 0 && txtObservaciones.Text.Trim().Length != 0 && cmbHora.Text.Trim().Length != 0)
result = true;
return result;
}
}
答案 0 :(得分:1)
确保“清除”按钮的DialogResult
属性设置为DialogResult.None
。
该表单的CancelButton
属性未设置为“清除”按钮。
答案 1 :(得分:1)
你一步一步调试吗? 可能的问题:
表单的“CancelButton” - 选项设置为“mbCrear_Click” - 按钮。
表单的Designer文件中可能存在一些错误的事件链接。
“mbCancelar_Click”-Event&amp; “mbCrear_Click”-Event指的是同一个按钮
最好的办法是,将断点设置为“mbCrear_Click”并逐步调试,然后查看表单的关闭位置。 ;)
希望我能提供帮助