【发布时间】:2012-01-10 14:54:31
【问题描述】:
我有一个包含一些单选按钮的组框。我正在尝试在 Code Project 的教程的帮助下实现序列化。该教程支持复选框而不是单选按钮的序列化。所以我需要将我的应用程序中的单选按钮设置为复选框(也就是说,它们应该是复选框,但像单选按钮一样工作)。
我尝试编写代码,但是当我发现一个特定的复选框被选中并且我去取消选中或者反之亦然时,它会触发 check_changed 事件处理程序,这会进入无限循环。
有人可以帮我解决这个问题吗?
谢谢
更新:
看到您的回复后,非常感谢您。是的,你没关系,我们不应该弄乱基本属性。我将努力改变序列化方法。
P.S 教程的链接是http://www.codeproject.com/KB/dialog/SavingTheStateOfAForm.aspx
最终更新:
按照此处发布的回复后,我决定不更改默认属性,而是更改序列化程序代码。我做到了,现在它完美地工作了。非常感谢大家。
【问题讨论】:
-
确认...不要这样做。控件被标准化是有原因的——如果用户看到单选按钮,他们希望只能选择 1 个。如果他们看到他们希望能够多选的复选框。
-
1) 发布一些代码。 2)如何链接到教程。 3) 让 CheckBoxes 像 RadioButtons 一样执行听起来是个坏主意。我认为一个更好的主意是更改序列化以支持 RadioButtons。
-
为什么不简单地实现单选按钮的序列化,就像复选框的序列化一样?应该不会有太大区别。
-
我同意@Jamiec。如果教程没有单选按钮,请查找其他教程,或者我们可以尝试帮助您正确实现它。无论哪种方式,修复实现。不要尝试更改底层控件。
-
这就是我们有单选按钮的原因。复选框类这个事件并以某种方式禁用它并做你所说的一切就像制作一个单选按钮的用户控件(看起来是方形而不是圆形)。我只会使用单选按钮而不是编写新控件。
标签: c# .net winforms visual-studio-2010