Моя цель - установить флажок, чтобы метка 1 не возвращалась к ее значению до того, как был установлен флажок.C# Revert on checkbox unchecked
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
{
if
(checkBox1.Checked)
label1.Text = textBox1.Text + label1.Text;
else
label1.Text = label1.Text; //return to previous value?
}
}
Способ, упомянутый выше, label1 «приклеивает» к значению, когда флажок снят.
Я пробовал использовать label1.Refresh, но это не сработало.
Есть ли более эффективный способ получить результат, который я ищу?
Здесь вы теряете значение по умолчанию label 'label1.Text = textBox1.Text + label1.Text;'. Вы должны сохранить его в переменной экземпляра, чтобы восстановить его. –
'label1.Text = label1.Text;' ничего не делает, потому что метка не знает, чем она была раньше, - вы ее изменили. создайте строку var, чтобы сохранить значение для возврата к – Plutonix
Является ли ваш проект WinForms, WPF или Web или что еще? Giorgos Betsos, Raging Bull и Jakob Olsen предоставили некоторые решения, но все они предполагают определенную среду, которую вы не указали. –