Ответ 1
Вы можете установить для свойства Enabled
значение false
. То есть. checkBox1.Enabled = false;
EDIT: слишком медленно: P
Мне было интересно, как снять флажок в С#? Я думал, что это будет что-то вроде setSelectable (false) или что-то, но я не могу видеть этот метод.
Я нашел canSelect, но это похоже на свойство только для чтения.
Спасибо
Вы можете установить для свойства Enabled
значение false
. То есть. checkBox1.Enabled = false;
EDIT: слишком медленно: P
Вы можете установить AutoCheck свойство false
.
Вы можете создать его с помощью следующего кода
public class ReadOnlyCheckBox : System.Windows.Forms.CheckBox
{
private bool readOnly;
protected override void OnClick(EventArgs e)
{
// pass the event up only if its not readlonly
if (!ReadOnly) base.OnClick(e);
}
public bool ReadOnly
{
get { return readOnly; }
set { readOnly = value; }
}
}
а также вы можете обработать проверенное событие изменения и всегда устанавливать его обратно в значение, которое вы хотите
Как установить свойство Enabled
в false
?
Отключить все флажки в отмеченном списке
for (int i = 0; i < checkedListBoxChecks.Items.Count; i++)
{
checkedListBoxChecks.SetItemChecked(i, true);
//checkedListBoxChecks.Enabled = false;
this.checkedListBoxChecks.SetItemCheckState(i, CheckState.Indeterminate);
}
private void checkedListBoxChecks_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.CurrentValue == CheckState.Indeterminate)
{
e.NewValue = e.CurrentValue;
}
}
AutoCheck не существует в UWP, но я думаю, вы можете использовать IsTapEnabled = false.
Самый простой способ, по которому вы можете сделать флажок, всегда проверяться, даже если щелкнуть, это то, что вы пишете (checkboxname.checked = true) в событии клика. и каждый раз, когда пользователь нажимает на него, он проверяет состояния.