Итак, у меня есть метод, который называется на основе нажатия кнопок. У меня есть 12 случаев в операторах IF, но я, кажется, никогда не попадаю в какой -либо другой случай, кроме случая 1, 2 или 3. Это как если бы он распознавал Sender = Buttonx, но есть полное пренебрежение для логических. Они проходят по ссылке, и я подтвердил, что логические, соответственно, меняются, но они никогда не рассматриваются в операторах IF. Что я делаю здесь не так с моими лодками? Логические логики устанавливаются по умолчанию по умолчанию на странице.protected void OSTAQ1Button1Click(object sender,EventArgs e) {
ButtonClickAllSetColor(ref OSTAQ1Button1asp, ref OSTAQ1Button1asp, ref OSTAQ1Button2asp, ref OSTAQ1Button3asp, ref Q1PassTracker, ref Q1FailTracker, ref Q1NATracker, ref OSTAQ1CommentBoxasp, ref Q1, ref Q1Comments);
selectedIndex = 1;
}
< /code>
Метод вызов: < /p>
protected void ButtonClickAllSetColor(ref Button sender, ref Button button1, ref Button button2, ref Button button3, ref bool PassTracker, ref bool FailTracker, ref bool NATracker, ref TextBox CommentBox, ref string QuestionAnswer, ref string CommentString){
if(sender == button1 && !PassTracker && !FailTracker && !NATracker){//1
//Button 1 pressed, no other buttons clicked.
QuestionAnswer = "Pass";
PassTracker = true;
FailTracker = false;
NATracker = false;
OSTAFileNumber.Value = "Q1PassTracker: " + PassTracker.ToString();
OSTAFlash.Value = "Q1FailTracker: " + FailTracker.ToString();
OSTABranch.Value = "Q1NATracker: " + NATracker.ToString();
OSTAEscrowOfficer.Value = "Case: 1";
button1.BackColor = System.Drawing.Color.DimGray; //SELECT
button1.ForeColor = System.Drawing.Color.White; //SELECT
button2.BackColor = System.Drawing.Color.Transparent; //DESELECT
button2.ForeColor = System.Drawing.Color.DimGray; //DESELECT
button3.BackColor = System.Drawing.Color.Transparent; //DESELECT
button3.ForeColor = System.Drawing.Color.DimGray; //DESELECT
CommentBox.Visible = false;
//MATH - DO NOTHING?
}else if...
< /code>
Все 12 случаев для логических: < /p>
if(sender == button1 && !PassTracker && !FailTracker && !NATracker){//1
}else if(sender == button2 && !PassTracker && !FailTracker && !NATracker){//2
}else if(sender == button3 && !PassTracker && !FailTracker && !NATracker){//3
}else if(sender == button1 && PassTracker && !FailTracker && !NATracker){//4
}else if(sender == button2 && !PassTracker && FailTracker && !NATracker){//5
}else if(sender == button3 && !PassTracker && !FailTracker && NATracker){//6
}else if(sender == button1 && !PassTracker && FailTracker && !NATracker){//7
}else if(sender == button1 && !PassTracker && !FailTracker && NATracker){//8
}else if(sender == button2 && PassTracker && !FailTracker && !NATracker){//9
}else if(sender == button2 && !PassTracker && !FailTracker && NATracker){//10
}else if(sender == button3 && PassTracker && !FailTracker && !NATracker){//11
}else if(sender == button3 && !PassTracker && FailTracker && !NATracker){//12
}else{//DO NOTHING}
< /code>
Ожидает, что логины будут работать в операторах IF. Примером проблемы является то, когда нажата Button1, затем он изменяет логическое отслеживание на True, что должно сбое на следующем щелчке в случае 1.
Подробнее здесь: https://stackoverflow.com/questions/794 ... statements
C# - логические, не работающие в IF, операторы [закрыто] ⇐ C#
Место общения программистов C#
-
Anonymous
1739994254
Anonymous
Итак, у меня есть метод, который называется на основе нажатия кнопок. У меня есть 12 случаев в операторах IF, но я, кажется, никогда не попадаю в какой -либо другой случай, кроме случая 1, 2 или 3. Это как если бы он распознавал Sender = Buttonx, но есть полное пренебрежение для логических. Они проходят по ссылке, и я подтвердил, что логические, соответственно, меняются, но они никогда не рассматриваются в операторах IF. Что я делаю здесь не так с моими лодками? Логические логики устанавливаются по умолчанию по умолчанию на странице.protected void OSTAQ1Button1Click(object sender,EventArgs e) {
ButtonClickAllSetColor(ref OSTAQ1Button1asp, ref OSTAQ1Button1asp, ref OSTAQ1Button2asp, ref OSTAQ1Button3asp, ref Q1PassTracker, ref Q1FailTracker, ref Q1NATracker, ref OSTAQ1CommentBoxasp, ref Q1, ref Q1Comments);
selectedIndex = 1;
}
< /code>
Метод вызов: < /p>
protected void ButtonClickAllSetColor(ref Button sender, ref Button button1, ref Button button2, ref Button button3, ref bool PassTracker, ref bool FailTracker, ref bool NATracker, ref TextBox CommentBox, ref string QuestionAnswer, ref string CommentString){
if(sender == button1 && !PassTracker && !FailTracker && !NATracker){//1
//Button 1 pressed, no other buttons clicked.
QuestionAnswer = "Pass";
PassTracker = true;
FailTracker = false;
NATracker = false;
OSTAFileNumber.Value = "Q1PassTracker: " + PassTracker.ToString();
OSTAFlash.Value = "Q1FailTracker: " + FailTracker.ToString();
OSTABranch.Value = "Q1NATracker: " + NATracker.ToString();
OSTAEscrowOfficer.Value = "Case: 1";
button1.BackColor = System.Drawing.Color.DimGray; //SELECT
button1.ForeColor = System.Drawing.Color.White; //SELECT
button2.BackColor = System.Drawing.Color.Transparent; //DESELECT
button2.ForeColor = System.Drawing.Color.DimGray; //DESELECT
button3.BackColor = System.Drawing.Color.Transparent; //DESELECT
button3.ForeColor = System.Drawing.Color.DimGray; //DESELECT
CommentBox.Visible = false;
//MATH - DO NOTHING?
}else if...
< /code>
Все 12 случаев для логических: < /p>
if(sender == button1 && !PassTracker && !FailTracker && !NATracker){//1
}else if(sender == button2 && !PassTracker && !FailTracker && !NATracker){//2
}else if(sender == button3 && !PassTracker && !FailTracker && !NATracker){//3
}else if(sender == button1 && PassTracker && !FailTracker && !NATracker){//4
}else if(sender == button2 && !PassTracker && FailTracker && !NATracker){//5
}else if(sender == button3 && !PassTracker && !FailTracker && NATracker){//6
}else if(sender == button1 && !PassTracker && FailTracker && !NATracker){//7
}else if(sender == button1 && !PassTracker && !FailTracker && NATracker){//8
}else if(sender == button2 && PassTracker && !FailTracker && !NATracker){//9
}else if(sender == button2 && !PassTracker && !FailTracker && NATracker){//10
}else if(sender == button3 && PassTracker && !FailTracker && !NATracker){//11
}else if(sender == button3 && !PassTracker && FailTracker && !NATracker){//12
}else{//DO NOTHING}
< /code>
Ожидает, что логины будут работать в операторах IF. Примером проблемы является то, когда нажата Button1, затем он изменяет логическое отслеживание на True, что должно сбое на следующем щелчке в случае 1.
Подробнее здесь: [url]https://stackoverflow.com/questions/79452575/c-sharp-booleans-not-working-in-if-statements[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия