C# 自定义ToolStripItem
我需要将一组自定义的C# 自定义ToolStripItem,c#,.net,winforms,C#,.net,Winforms,我需要将一组自定义的ToolStripItem(包含附加属性formReference)添加到ToolStripPanel,但由于某种原因它们不会出现 用于添加项目的代码: foreach (Form form in Application.OpenForms) if (form.Name != "MainForm") { myToolStripItem mtsi = new myToolStripItem(form.Text, null, open_form); mtsi.fo
ToolStripItem
(包含附加属性formReference
)添加到ToolStripPanel
,但由于某种原因它们不会出现
用于添加项目的代码:
foreach (Form form in Application.OpenForms)
if (form.Name != "MainForm")
{
myToolStripItem mtsi = new myToolStripItem(form.Text, null, open_form);
mtsi.formReference = form;
tspTaskBar.Items.Add(mtsi);
}
myToolStripItem:
public class myToolStripItem : ToolStripItem
{
public object formReference { get; set; }
public myToolStripItem(string text, System.Drawing.Image image, EventHandler onClick)
: base(text,image,onClick) { }
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
}
}
你能指出我做错了什么吗?谢谢。我认为问题可能在于
ToolStripPanel
是ToolStrip
s的面板,ToolStrip
是您放置ToolStripItems
的实际位置。试着在你的ToolStripPanel
里放一个ToolStripItem
,然后把你的自定义ToolStripItem
放进那ToolStripItem源于ToolStripMenuItem
的中,而不是ToolStripItem
解决了这个问题(tspTaskBar是一个ToolStrip,而不是toolStripPanel)。tspTaskBar.Items.Add()方法接受ToolStripItem作为参数,因此我非常确定您将ToolStripItems添加到Items集合中。