问题标签 [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.

0 投票
16 回答
100635 浏览

c# - 检查项目后会触发哪个 CheckedListBox 事件?

我有一个 CheckedListBox,在检查项目我想要一个事件,以便我可以将 CheckedItems 与新状态一起使用。

由于 ItemChecked 在 CheckedItems 更新之前被触发,因此它不会开箱即用。

当 CheckedItems 更新时,我可以使用哪种方法或事件来获得通知?

0 投票
4 回答
5537 浏览

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 是我需要检查的报告。

0 投票
4 回答
15713 浏览

c# - CheckedListBox 控件是否有“DisplayMember”和“ValueMember”之类的属性?C# 窗体

我有DataTable以下结构:

我通过将每一行添加为一个项目来将来自的值显示DataTable到一个控件中。CheckedListBox

但是我怎样才能包含 ID?CheckedListBox 控件是否有“DisplayMember”和“ValueMember”之类的属性?

0 投票
2 回答
4332 浏览

vb6 - 使用 VB6.0,如何获取 CheckedListBox 中选定项的 itemdata?

使用 VB6.0,如何获取 CheckedListBox 中选定项的 itemdata?

0 投票
1 回答
9194 浏览

c# - 单击同一选择时通过 MouseClick 切换 CheckedListBox 项目的选中状态时的奇怪行为

CheckedListBox使用鼠标单击时,WinForms控件有 2 个默认行为:

  1. 为了选中/取消选中一个项目,您需要单击一个项目两次。第一次单击选择项目,第二次切换检查状态。
  2. 此外,随后单击同一项目将切换该项目的选中状态。

作为一项便利功能,我需要允许用户一键切换选择。我已经实现了这一点,所以现在可以一键实现上面的默认行为#1。问题是行为#2 在单击相同(即当前选定的)项目时不再正常工作。在需要的项目之间跳转时它工作正常,但它需要在同一个项目上最多单击 4 次。

我的解决方法是如果用户重复选择同一项目,则调用两次切换逻辑。那么关于我的问题:

  1. 这行得通,但为什么呢?真正的根本问题是什么?
  2. 有没有更好的方法来实现这一点,这样我就可以让它像默认行为 #2 一样工作,而无需两次调用该方法并跟踪我的最后一次选择?

奇怪的是,调试代码显示检查状态已更改,但它不会出现在 UI 端,直到它被调用两次。我认为它可能与线程相关,但它不是触发可能需要BeginInvoke使用的重入事件。

这是我的代码:

要重现我的问题,请注释掉代码注释中提到的行并按照以下步骤操作:

  1. 单击索引 2-state 更改为已选中的项目。
  2. 选择当前项目后,再次单击它 - 状态不会改变。预期:未选中。单击它几次,它终于切换了。

谢谢阅读!

0 投票
2 回答
1976 浏览

c# - C#/WinForms:设置包含来自字符串/数组的数据的 CheckedListBox 项

有没有办法确定我的选中列表框的项目是否包含来自字符串/数组的数据?

我的文本框包含以下内容:

我的复选框(包含以下内容)

  • 美国广播公司
  • 国防军
  • 全球健康指数
  • JKL

我想要做的是:(1)将“活动”拆分为数组:

(2) 尝试根据我的文本框“检查”在我的复选框列表 (cListActivities) 中找到的项目

for (int i = 0; i < frm.clistActivities.Items.Count; i++){

输出:应检查项目 ABC 和 DEF。

有什么建议么?

0 投票
2 回答
2188 浏览

c# - 复选框文本(在选中列表框中)不会出现

我已经使用以下代码向选中列表框添加了一个复选框:

但是,如图所示,文字不会出现。我做错了什么?谢谢!

替代文字

0 投票
4 回答
17014 浏览

c# - 如何使用 C# 在选中的列表框中获取新选中项的文本

我正在使用 ItemCheckEventArgs 并且可以从中获取索引值,但是从该值中我不确定如何查找所检查的文本是什么。

0 投票
3 回答
150 浏览

c# - 难以将名称插入到选中列表框的插入对象中

我是 C# 的新手,我正在尝试将一个对象插入到 aCheckedListBox中,因此这个插入的项目将在选中的列表内有一个标题(我的对象在其中包含一个字符串字段,我想在 CheckedListBox 中显示该字段)。例如这是我的课:

我的班级在她内部还包含一个 tostring 覆盖器(不是我想要显示的)

在此先感谢您的帮助。

0 投票
1 回答
652 浏览

c# - 将上下文菜单条动态附加到复选框列表中

我正在尝试将构建的上下文菜单条附加到我插入到我的 CheckBoxList 的对象中我想要做的是将 contextMenuStrip 附加到在我的 checkboxList 中创建的新复选框中,所以当我按下右键单击鼠标将出现菜单,例如:

现在在我的列表中,我有一个包含我的对象的新复选框,如何将 contextMenuStrip 附加到它?

在此先感谢您的帮助。