Как отключить кнопки, когда TextBox пуст? - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу отключить кнопку, пока в TextBox не появится текст. Как мне это сделать? Я новичок и ничего не знаю, поэтому просто код, который я должен добавить, великолепен. Мой код:
private void button1_Click (отправитель объекта, EventArgs e) {

        double wiek = double.Parse(textBox1.Text);
        double gotowka = double.Parse(textBox2.Text);

        if (wiek >= 15 && gotowka >= 30 || gotowka >= 130)
        {
            MessageBox.Show("Możesz wejść!");
        }
        else
        {
            MessageBox.Show("Nie możesz wejść!");
        }

        if (wiek >= 15 && gotowka >= 30)
        {
            double reszta = gotowka - 30;
            textBox3.Text = reszta.ToString();
        }

        if (wiek < 15 && gotowka >= 130)
        {
            double reszta2 = gotowka - 130;
            textBox3.Text = reszta2.ToString();

        }

        if (wiek < 15 && gotowka >= 30)
        {
            double reszta3 = gotowka;
            textBox3.Text = reszta3.ToString();
        }

        if (wiek >=15 && gotowka < 30)
        {
            double reszta4 = gotowka;
            textBox3.Text = reszta4.ToString();
        }
        if (wiek >= 15 && gotowka >= 130)
        {
            double reszta5 = gotowka - 30;
            textBox3.Text = reszta5.ToString();
        }
        if (wiek < 15 && gotowka >= 130)
        {
            double reszta6 = gotowka - 130;
            textBox3.Text = reszta6.ToString();
        }

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Вот как бы я это сделал! Шаг 1. добавьте событие TextChanged, дважды щелкнув текстовое поле в конструкторе форм Windows. Шаг 2. введите этот код в событие, замените MyTextBox на имя вашего текстового поля, а MyButton на имя вашей кнопки!

if (MyTextBox.Text == "")
{
    //(if you would like to make the button disappear, do this)
    MyButton.Visible = false;
    //(if you would like to make the button gray out, do this)
    MyButton.Enabled = false;
}
else
{

    //(if you would like to make the button disappear, do this)
    MyButton.Visible = true;
    //(if you would like to make the button gray out, do this)
    MyButton.Enabled = true;

}

Надеюсь, это поможет!

Techcraft7:)

0 голосов
/ 07 ноября 2018

Для этого вам нужно добавить обработчик событий для текстового поля. Либо на выходе или TextChanged. Там вы можете включить и отключить кнопку.

С другой стороны, может быть, вы хотите этого только потому, что синтаксический анализ вызывает исключение, если текстовое поле пусто? Даже если он не пустой, он может содержать любой текст, который не может быть преобразован в двойной.

Лучшим решением может быть изменение

double wiek = double.Parse(textBox1.Text);
double gotowka = double.Parse(textBox2.Text);

К

double wiek;
double gotowka;

bool isParsed = double.TryParse(textBox1.Text, out wiek);
if (!isParsed)
{
   //TODO: some error handling, telling the user it is not a number
   MessageBox.Show("Nie numer!");
   return;
}

isParsed = double.TryParse(textBox2.Text, out gotowka);
if (!isParsed)
{
   //TODO: some error handling, telling the user it is not a number
   MessageBox.Show("Nie numer!");
   return;
}
...