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

时间:2015-07-05 22:58:31

标签: c# parent toolstripbutton

我正在为我的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 Protection在某个地方。我研究过它并没有任何意义。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

这样的东西
ToolStripButton pluginButton = new ToolStripButton();

toolStrip1.Items.Add(pluginButton);

会做的。