Я сделал простой интерфейс для проверки использования.1st вы вставляете текст в «txtinput», если вы вставляете что-то, кроме слов «привет», оно выскочит из окна сообщений «повторите попытку». на «txtchance» там номер «3» автоматически изменится на «2». Признак неверного ввода, он будет иметь шанс «1» и «0», тогда в окне сообщений появится «больше не пытается» и выйдет из приложения.validate and number automatic jumping
Проблема, с которой я сталкиваюсь, когда я использую «для цикла» для автоматического изменения номера «txtchance», он будет зациклять все без остановок, чтобы я попытался снова и выйти из приложения. Как остановить или разбить его?
здесь код
public partial class Form1 : Form
{
public int tries = 2;
public Form1()
{
InitializeComponent();
txtchance.Text = "3";
}
private void btn_click_Click(object sender, EventArgs e)
{
if (txtinput.Text != string.Empty)
{
if (txtinput.Text == "hello")
{
textBox1_Validated(sender, e);
}
else
{
textBox1_Validating(sender, e);
}
}
}
private void textBox1_Validating(object sender, EventArgs e)
{
if (tries > 0)
{
for (int i = 3; i >= 0; i--)
{
txtchance.Text = i.ToString();
if (i > 0)
{
tries--;
txtinput.Clear();
MessageBox.Show("Please try again", "Error");
}
else
{
MessageBox.Show("Sorry, no more tries", "Error");
Application.Exit();
}
}
}
}
private void textBox1_Validated(object sender, EventArgs e)
{
if (tries != 0)
{
MessageBox.Show("Well done, you managed to enter a valid input!", "Validation OK");
this.Close();
}
}
}
Здесь screenshort https://www.imageupload.co.uk/image/Zl1K
Спасибо, что это работа !!! –