Я делаю проект для колледжа и создаю панель с простым меню обеда. Каждый элемент меню, если он установлен флажком. То, что я хотел, состояло в том, чтобы общее количество было изменено каждый раз, когда новый элемент проверяется или отменяется. Это код, который я пытался использовать до сих пор, но, похоже, он затормозит программу, когда я ее запускаю. Я попытался использовать цикл while, чтобы постоянно проверять, отмечены ли флажки или не проверены флажки.Visual C# окна форм постоянно проверять и обновлять значение?
Существует панель с флажками внутри и этикеткой внизу панели.
Я нахожусь на правильной линии с точки зрения использования цикла while, чтобы проверить, что установленный флажок для каждого флажка, и соответствующим образом обновить текст ярлыка?
private void plBistro_Paint(object sender, PaintEventArgs e)
{
//create a variable to hold the total
double bistotal = 0.0;
while(bistotal != 99){
//check if they chose a ham sandwich
if(cbHamSandwich.Checked == true){
//if they did add 1.20 to the value of bistotal
bistotal = bistotal + 1.20;
}
string bistotalString = Convert.ToString(bistotal);
lblBistroTotal.Text = bistotalString;
}
}
Не используйте Paint даже для вычисления чего-либо. Просто краска. –
Что вы имеете в виду, когда говорите краску? – crm
Просто не используйте событие рисования вообще. Это не относится к вашей проблеме. Используйте флажок CheckedChanged. Вам не нужен цикл. Приложения Windows управляются событиями. Вы не проводите опрос на события (цикл), вы просто сидите и ждете их. Когда вы зацикливаетесь, ваше приложение задерживает дыхание и ждет, пока вы прекратите цикл. –