我的winforms程序中有3个复选框。我设法以某种方式使用它只能选择其中一个。也就是说,如果用户单击其中一个未选中的按钮,那么该按钮将被检查,并且检查将从上次选中的按钮中删除!
现在我想以某种方式做到用户无法取消选中复选框,所以检查一个框的唯一方法就是点击它。这可能吗?这有什么属性吗?
很抱歉使用太多支票&方框:P
答案 0 :(得分:5)
在复选框的checkedchanged事件中,编写以下代码。
if (!checkBox1.Checked)
{
checkBox1.Checked = true;
}
答案 1 :(得分:3)
如果您想要一个单选按钮功能但外观不同,请更改单选按钮的外观。
来自http://msdn.microsoft.com/en-us/library/system.windows.forms.radiobutton(v=vs.80).asp
private void InitializeMyRadioButton()
{
// Create and initialize a new RadioButton.
RadioButton radioButton1 = new RadioButton();
// Make the radio button control appear as a toggle button.
radioButton1.Appearance = Appearance.Button;
// Turn off the update of the display on the click of the control.
radioButton1.AutoCheck = false;
// Add the radio button to the form.
Controls.Add(radioButton1);
}
答案 2 :(得分:2)
只需侦听更改事件,如果事件告诉您复选框已取消选中,请重新检查它。
但我同意其他人的说法,这种行为是RadioButtons之一,所以请改用单选按钮。您不希望适合您的个人感受,而是为最终用户提供统一的用户体验。这是微软(以及其他所有框架)指南的一部分。