是否可以将选中的列表视图项设置为混合状态?
CheckBox
控件公开布尔型 Checked
和 System.Windows.Forms.CheckState
枚举 CheckState
属性,这些属性允许您将控件设置为选中、未选中或混合状态(不确定
枚举值)。
我想将 ListView
项的状态设置为 Instituteate
,但似乎只有 Checked
属性可用。 那么,有没有办法将其设置为混合,可能通过窗口消息传递或类似的技巧?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
那么,您可以使用以下解决方法:
当然您还需要编写几个辅助方法来获取检查状态等。但总的来说,这个解决方案相对容易实现。
实际上ListView的内部实现也是如此,但是这个逻辑隐藏在comctl32.dll中。
Well, you can use the following workaround:
Of course you also need to write several helper methods to get checked state, etc. But in general this solution is relatively easy to implement.
Actually internal ListView implementation do the same, but this logic is hidden inside comctl32.dll.
ObjectListView(.NET WinForms ListView 的开源包装器)支持带有复选框混合状态。
查看演示的“简单”选项卡以了解它们的实际效果。
(完成工作后,我不得不说它并不像仲裁者建议的那么容易)
ObjectListView (an open source wrapper around .NET WinForms ListView) supports check boxes with mixed state.
Have a look at the Simple tab of the demo to see them in action.
(Having done the work, I have to say that it is not as easy as arbiter suggests)
ListView 没有不确定的状态。
ListView does not have indeterminate state.