Ahmed Taha Ответов: 2

Флажок if-постановка задачи


if (sexch.Checked == true)
            {

                ch.Text = "male";
            }
           else  if (sexch.Checked == false)
            {
                ch.Text = "Female";

            }


У меня есть этот код, когда флажок ==true я хочу, чтобы label.text изменился на мужской. Проблема в том, что программа читает только остальное.

Я получаю флажок sexch из базы данных и в зависимости от выходных данных(true=male, false=female) базы данных я хочу изменить label.text.

Что я уже пробовал:

if (sexch.Checked == true)
            {

                ch.Text = "male";
            }
           else  if (sexch.Checked == false)
            {
                ch.Text = "Female";

            }



if (sexch.Checked == true)
            {

                ch.Text = "male";
            }
             if (sexch.Checked == false)
            {
                ch.Text = "Female";

            }

2 Ответов

Рейтинг:
2

Maciej Los

Воспользуйся флажок.CheckedChanged Event (System.Окна.Формы)[^]

Внутри него используйте:

ch.Text = sexch.Checked ? "Male" : "Female";


Если вы хотите изменить состояние флажка на основе значения базы данных:
sexch.Checked = database_value;



Для получения более подробной информации, пожалуйста, смотрите: флажок.Проверенное Свойство (System.Окна.Формы)[^]


Рейтинг:
12

Dave Kreskowiak

Ваша проблема заключается в том, что вам вообще не нужно второе утверждение if. Если флажок не установлен, он должен быть ложным.

if (sexch.Checked == true)
{
    ch.Text = "Male";
}
else
{
    ch.Text = "Female";
}


Ahmed Taha

Но у меня все та же проблема.
Программа не проходит через часть (if), она видит только часть else, является ли флажок true или false.

Dave Kreskowiak

Вам придется просмотреть код в отладчике, чтобы увидеть, что происходит. Код, который я опубликовал, будет работать и выберет только один путь, либо ch.Текст будет либо "мужским", либо "женским".

Но! Это будет работать только в зависимости от кода вокруг этого кода и контекста, в котором он выполняется. Поскольку мы можем работать только с тем, что вы вводите в вопрос, мы не можем идти дальше этого.

Научитесь использовать отладчик и пошагово просматривать код, а также проверять содержимое переменных. Это единственный способ решить эту проблему.