c# - 导致异常 "ReadOnly controls collection"- 编辑 UI 时

标签 c# winforms krypton-toolkit

我接过别人的项目,他们用的是氪金工具包。当我更改 UI 上的任何内容(即添加按钮、编辑文本、添加菜单项)时,我收到此异常错误:

this.kryptonHeaderGroupMain.Controls.Add(this.kryptonHeaderGroupMain.Panel);

Cause an exception "ReadOnly controls collection"

..它弄乱了设计器 View 。

我错过了什么?

根据一些人的建议,我已经尝试过但仍然失败:

this.<kryptonControlsContainer>.Panel.Controls.Add(this.<otherControlName>);

最佳答案

Controls KryptonHeaderGroup 的属性(property)control 是一个自定义控件集合(名为 KryptonReadOnlyControls ),它不允许添加或删除子控件。一路KryptonHeaderGroup被设计的是它有一个Panel它充当其子控件的容器。您需要做的如下。

在设计模式下:

在添加任何控件之前,确保选择面板而不是 KryptonHeaderGroup本身。查看这些屏幕截图中的差异:

Don't select the KryptonHeaderGroup itself

Select its panel instead

使用代码:

//kryptonHeaderGroup1.Controls.Add(new KryptonButton());        // Throws an exception.
kryptonHeaderGroup1.Panel.Controls.Add(new KryptonButton());    // Works fine.

注意:同样的逻辑适用于其他控件,如 KryptonGroupBox , KryptonGroup , 和 KryptonSplitContainer .

关于c# - 导致异常 "ReadOnly controls collection"- 编辑 UI 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493395/

相关文章:

c# - 将 .net 库集成到 Objective C iOS 应用程序中

c# - 无法在 Outlook 加载项中创建 StorageItem

c# - 使用多显示器设置在 C# 中获取真正的主屏幕?

c# - 将控制台输出重定向到单独程序中的文本框

winforms - DotNetBar 与 Krypton

C# : How to apply Krypton ToolKit on User Control

c# - 断点会带来延迟吗?

c# - 如何在 Windows 窗体中更改 CheckedListBox 中选定项的颜色?

winforms - 如何使用上下文菜单关闭项禁用 KryptonPage 的删除按钮?

c# - 读取文件名并查找特定字符串