Итак, у меня есть метод, который называется на основе нажатия кнопок. У меня есть 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#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Логические операторы: ветвление с использованием логических переменных (Python)
Anonymous » » в форуме Python - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-