【问题标题】:CheckedListBox , Populating a row of CheckboxesCheckedListBox , 填充一行复选框
【发布时间】:2016-10-18 10:25:42
【问题描述】:

我的应用程序运行不稳定,因为我必须在一个表单中设置多个复选框。我从某个消息来源听说,我应该尝试在CheckedListBox 中填充复选框。但我不知道我怎么能意识到这一点。其中,我想通过CheckBox 向您展示我的解决方案。

谁能告诉我如何用CheckedListBox 填充它?

        for (int i = 1; i <= maxTask; i++)
        {
            Label labelTasks = new Label();
            labelTasks.Text = "A" + i;
            labelTasks.Width = 28;
            labelTasks.Height = 13;
            labelTasks.Location = new Point(boundX_Label, boundY_Label);
            boundX_Label += 26;
            panel.Controls.Add(labelTasks);

            CheckBox checkBox = new CheckBox();
            checkBox.Name = String.Format("checkboxTask{0}", i);
            checkBox.GotFocus += checkBox_GotFocus;
            checkBox.LostFocus += checkBox_LostFocus;
            checkBox.Text = "";
            checkBox.Width = 20;
            checkBox.Height = 15;
            checkBox.Location = new Point(boundX_ChkBox, boundY_ChkBox);
            boundX_ChkBox += 26;

            checkBox.CheckedChanged += new EventHandler(checkBox_CheckedChanged);

            panel.Controls.Add(checkBox);

        }

此代码将填充一行复选框,如显示其中。我的应用程序有大约 200 个此复选框行。

【问题讨论】:

  • CheckedListBox 只是一个美化的列表框。添加到 Items 集合
  • 这样就不能解决问题?
  • 我不知道您可能遇到什么(其他)问题。帖子说您不知道如何使用选中列表框。我解释了那个myCLB.Items.Add("A34")
  • 但是如何为 CheckBoxList 中的每个 CheckBox 分配一个名称?您的 Add("A34") 示例是 CheckBox 的文本,当我没有错时。而且我不需要文本,应该只有没有文本的复选框,但是稍后在 Eventhandler 中使用它们我想给它们一个名字。与上面的普通复选框一样。
  • 问题中的屏幕截图显示每个复选框都需要一个文本,因此CheckedListBox 似乎是一个不错的选择。您可以找到CheckedIndicesCheckedItems 或使用GetItemChecked 检查是否检查了特定项目。如果您分享有关您的需求的更多背景信息,您可能会获得更有效的帮助。

标签: c# winforms checkbox checkedlistbox


【解决方案1】:

您可以为此使用CheckedListBox,您可以将项目添加到 CheckedListBox 只需做-CheckedListBox

CheckedListBox1.Items.Add("A1");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多