问题标签 [checkedlistbox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 检查项目后会触发哪个 CheckedListBox 事件?
我有一个 CheckedListBox,在检查项目后我想要一个事件,以便我可以将 CheckedItems 与新状态一起使用。
由于 ItemChecked 在 CheckedItems 更新之前被触发,因此它不会开箱即用。
当 CheckedItems 更新时,我可以使用哪种方法或事件来获得通知?
c# - 如何编辑 CheckedListBox 中项目的名称?
我有一个CheckedListBox
有 X 个项目。这些项目在运行时放置在那里。这些项目应该代表可以在DataGridView
. 我现在需要做的是在报告名称旁边的括号中显示每个报告的记录数。我尝试编辑项目的实际名称,但时间不长,但不知道该怎么做。所以,我蛮力的强迫它。将项目保存到数组中,清除项目,将记录计数附加到数组中的每个项目,创建新项目。好吧,这引起了问题,因为现在它没有保留我的支票,原因是每当我生成报告时,我都会清除项目并重新创建它们。好吧,而不是做另一个foreach
循环保存检查状态,有没有人知道改变现有项目文本的方法CheckedListBox
?
这是我目前拥有的代码:
在 MainForm.Designer.cs 中:
它看起来像:
我希望它看起来像(但不会全是 0):
这是 SelectedIndexChanged 函数:
这是我清除项目、获取报告计数和创建新项目的代码。
请告诉我有一种更简单的方法可以做到这一点。我尝试通过 clbReports.Items 进行 foreach 循环,但它希望我将其转换为字符串(尝试转换为 CheckBox 时出错),因此我无法更改值。即使我可以将它转换为 CheckBox,我也有一种感觉,它会给我一个错误,即枚举失败,因为列表已更改(或者他们怎么说)。欢迎任何和所有帮助。谢谢。
编辑:请知道报告 X 只是为了不显示实际报告名称以保持其通用性。但是,在代码中,我只是复制和粘贴,所以 Show All Error Reports 和 Show All Tagged Records 是我需要检查的报告。
c# - CheckedListBox 控件是否有“DisplayMember”和“ValueMember”之类的属性?C# 窗体
我有DataTable
以下结构:
我通过将每一行添加为一个项目来将来自的值显示DataTable
到一个控件中。CheckedListBox
但是我怎样才能包含 ID?CheckedListBox 控件是否有“DisplayMember”和“ValueMember”之类的属性?
vb6 - 使用 VB6.0,如何获取 CheckedListBox 中选定项的 itemdata?
使用 VB6.0,如何获取 CheckedListBox 中选定项的 itemdata?
c# - 单击同一选择时通过 MouseClick 切换 CheckedListBox 项目的选中状态时的奇怪行为
CheckedListBox
使用鼠标单击时,WinForms控件有 2 个默认行为:
- 为了选中/取消选中一个项目,您需要单击一个项目两次。第一次单击选择项目,第二次切换检查状态。
- 此外,随后单击同一项目将切换该项目的选中状态。
作为一项便利功能,我需要允许用户一键切换选择。我已经实现了这一点,所以现在可以一键实现上面的默认行为#1。问题是行为#2 在单击相同(即当前选定的)项目时不再正常工作。在需要的项目之间跳转时它工作正常,但它需要在同一个项目上最多单击 4 次。
我的解决方法是如果用户重复选择同一项目,则调用两次切换逻辑。那么关于我的问题:
- 这行得通,但为什么呢?真正的根本问题是什么?
- 有没有更好的方法来实现这一点,这样我就可以让它像默认行为 #2 一样工作,而无需两次调用该方法并跟踪我的最后一次选择?
奇怪的是,调试代码显示检查状态已更改,但它不会出现在 UI 端,直到它被调用两次。我认为它可能与线程相关,但它不是触发可能需要BeginInvoke
使用的重入事件。
这是我的代码:
要重现我的问题,请注释掉代码注释中提到的行并按照以下步骤操作:
- 单击索引 2-state 更改为已选中的项目。
- 选择当前项目后,再次单击它 - 状态不会改变。预期:未选中。单击它几次,它终于切换了。
谢谢阅读!
c# - C#/WinForms:设置包含来自字符串/数组的数据的 CheckedListBox 项
有没有办法确定我的选中列表框的项目是否包含来自字符串/数组的数据?
我的文本框包含以下内容:
我的复选框(包含以下内容)
- 美国广播公司
- 国防军
- 全球健康指数
- JKL
我想要做的是:(1)将“活动”拆分为数组:
(2) 尝试根据我的文本框“检查”在我的复选框列表 (cListActivities) 中找到的项目
for (int i = 0; i < frm.clistActivities.Items.Count; i++){
输出:应检查项目 ABC 和 DEF。
有什么建议么?
c# - 复选框文本(在选中列表框中)不会出现
我已经使用以下代码向选中列表框添加了一个复选框:
但是,如图所示,文字不会出现。我做错了什么?谢谢!
c# - 如何使用 C# 在选中的列表框中获取新选中项的文本
我正在使用 ItemCheckEventArgs 并且可以从中获取索引值,但是从该值中我不确定如何查找所检查的文本是什么。
c# - 难以将名称插入到选中列表框的插入对象中
我是 C# 的新手,我正在尝试将一个对象插入到 aCheckedListBox
中,因此这个插入的项目将在选中的列表内有一个标题(我的对象在其中包含一个字符串字段,我想在 CheckedListBox 中显示该字段)。例如这是我的课:
我的班级在她内部还包含一个 tostring 覆盖器(不是我想要显示的)
在此先感谢您的帮助。
c# - 将上下文菜单条动态附加到复选框列表中
我正在尝试将构建的上下文菜单条附加到我插入到我的 CheckBoxList 的对象中我想要做的是将 contextMenuStrip 附加到在我的 checkboxList 中创建的新复选框中,所以当我按下右键单击鼠标将出现菜单,例如:
现在在我的列表中,我有一个包含我的对象的新复选框,如何将 contextMenuStrip 附加到它?
在此先感谢您的帮助。