如何在 C# 中设置 Control.Parent 属性

How to set the Control.Parent proprety in C#

我正在为我的 C# 网络浏览器制作插件解析器。

在为插件制作按钮时,我需要将 ToolStripButton 添加到 ToolStrip。

这是我的代码:

ToolStripButton pluginButton = new ToolStripButton();
pluginButton.Parent = toolStrip1;
pluginButton.Image = Simple_Browse.Properties.Resources.plugin;
pluginButton.Alignment = ToolStripItemAlignment.Left;
pluginButton.ToolTipText = TitlePlugin;

我在第 2 行收到错误:
System.Windows.ToolStripItem.Parent 由于其权限级别而无法访问。

我在微软上查过如何设置它。它在某处说.NET 保护。我研究了一下,没有任何意义。

不要设置 pluginButton.Parent = toolStrip1,而是使用 toolStrip1.Items.Add( pluginButton )

查看msdn,Parent属性的定义是:

[BrowsableAttribute(false)]
protected internal ToolStrip Parent { get; set; }

由于它被标记为内部,因此只能在程序集内使用 System.Windows.Forms。这意味着您不能在程序集中使用此 属性。但是,它确实公开了 GetCurrentParent() 方法,因此您可以获得当前父级。它不公开 setter 方法,但对于此对象,您需要将其添加到它的父项集合中。所以像

ToolStripButton pluginButton = new ToolStripButton();

toolStrip1.Items.Add(pluginButton);

会做。