我想做的很简单,但我不知道该怎么做。我正在做一个基本的窗口登录,我写了一个代码,在退出之前要求确认,如下:(我有西班牙语的名字,如果你不明白,“康塔多”是柜台)
zipalign
之后我做了什么,是一个计数器,如果我输入错误信息三次,应用程序将关闭,这是代码:
$ANDROID_HOME/built-tools
所以,这样做有效,但是三次我输错了信息后,在关闭程序之前问我是否要这样做(我知道那是为了 Form1_FormClosing ),我希望程序在那种情况下不会问它。
答案 0 :(得分:1)
你只需要设置一个标志:
private bool _noConfirmExit;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (_noConfirmExit)
{
return;
}
DialogResult dialogo = MessageBox.Show("¿Desea cerrar la aplicación?", "Aviso!", MessageBoxButtons.YesNo, MessageBoxIcon.Hand);
if (dialogo == DialogResult.No)
{
e.Cancel = true;
}
}
private void aceptar_MouseClick(object sender, MouseEventArgs e)
{
if(Contador == 2)
{
_noConfirmExit = true;
DialogoCerrar();
Close();
}
if (usuario.Text == ("Demo") && (contraseña.Text == ("ABC123")))
{
Contador = 0;
DialogResult dialogo = MessageBox.Show("Ingreso exitoso!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
DialogResult dialogo = MessageBox.Show("Datos incorrectos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
Contador++;
}
}
这样,您的FormClosing
事件处理程序可以判断因其他原因而关闭与关闭之间的区别,因为计数器已达到其限制。
答案 1 :(得分:1)
这里的代码跟踪您是否应该显示警告对话框。它基本上是您在不想显示对话框时设置的标志。
public partial class Form1 : Form
{
private bool SkipWarning = false;
public Form1()
{
InitializeComponent();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(!SkipWarning)
{
DialogResult dialogo = MessageBox.Show("¿Desea cerrar la aplicación?", "Aviso!", MessageBoxButtons.YesNo, MessageBoxIcon.Hand);
if (dialogo == DialogResult.No)
{
e.Cancel = true;
}
}
}
private void aceptar_MouseClick(object sender, MouseEventArgs e)
{
if(Contador == 2)
{
SkipWarning = true;
DialogoCerrar();
Close();
}
if (usuario.Text == ("Demo") && (contraseña.Text == ("ABC123")))
{
Contador = 0;
DialogResult dialogo = MessageBox.Show("Ingreso exitoso!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
DialogResult dialogo = MessageBox.Show("Datos incorrectos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
Contador++;
}
}
}