我创建了名为 ucn 的用户控件,并使用填充用户控件的 datagridview。
在我创建了另一个继承自ucn的用户控件之后:
public partial class ucnRequest : ucn
{
在设计模式下我看到了数据网格视图:
没问题,但我无法添加列。
在主用户控件中,我将 Modifiers 属性更改为 public,但没有任何变化...
谢谢
我认为这是因为你的
UserControl
默认情况下不会充当 Windows 窗体编辑器中的“容器”控件,因此 Windows 窗体编辑器不会公开其公共属性。
要使其成为 Windows 窗体编辑器中的“容器”控件,您可以向该类添加以下属性:
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))]
public class MyUserControl: System.Windows.Forms.UserControl
{
...
请参阅此处了解更多信息:http://support.microsoft.com/kb/813450
我写这篇文章是为了防止有人遇到同样的问题并且看到这个窗口图标但不知道它意味着什么:
当我上两节
UserControl
课时,我也遇到了类似的问题。一个继承自基本的 UserControl
,称为 MenuWindow
,下一个称为 ToolsWindow
,继承于 MenuWindow
示例:
第一个继承自
UserControl
的类
public partial class MenuWindow : UserControl
继承刚刚创建的
MenuWindow
控件的第二个类:
public partial class ToolsWindow : MenuWindow
问题是,当您向
MenuWindow
添加新控件时,每个新控件都会将此 Modifiers
属性设置为 private
。从字面上看,这意味着您无法在所在类之外编辑此新控件的任何属性。如果将每个控件的 Modifiers
属性设置为 protected
,一切都会按预期工作,您最终可以修改您的 ToolsWindow
中这个新控件的属性。您还必须清理解决方案并重建项目。