繁体   English   中英

Windows中的动态checklistbox在c#上

[英]dynamic checklistbox in windowsform on c#

我想有一组像CheckListBox一样的复选框,具有不同的背面颜色。 有没有办法让我在运行时拥有这个组并进行编辑?

我使用下面的代码,但不能使用不同的背面颜色:

            foreach (var color in _colors)
            {
                var tmpCheckBox = new CheckBox
                                    {
                                       // Location = objLocation,
                                        BackColor = color,
                                        Text = color.Name
                                    };
                objLocation.X = objOffset;
                objLocation.Y += tmpCheckBox.Height + objOffset;
                clbColorAnalyzeResult.Items.Add(tmpCheckBox);
            }

只需提一下:clbColorAnalyzeResult.Controls.Add(tmpCheckBox); 没有帮助,因为没有滚动条,我不能使用所选的索引!

提前。

您必须将复选框添加到窗体的Controls属性。

也许你必须创建自己的自定义列表框并覆盖OnDrawItem方法。 像这样的东西:

class MyCheckedListBox : CheckedListBox
    {
        protected override void OnDrawItem(DrawItemEventArgs e)
        {

        }
    }

做这个!

您应该将复选框添加到Panel ,并将AutoScroll设置为true,以获取滚动条。 您可以订阅GotFocusLostFocus事件以确定选中了哪个复选框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM