2010-12-02 37 views

回答

11

如果你的右键菜单是ContexMenuStrip,你可以通过这种方式创建一个项目:

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.MenuStrip | 
            ToolStripItemDesignerAvailability.ContextMenuStrip)] 
public class TrackBarMenuItem : ToolStripControlHost 
{ 
    private TrackBar trackBar; 

    public TrackBarMenuItem():base(new TrackBar()) 
    { 
     this.trackBar = this.Control as TrackBar; 
    } 

    // Add properties, events etc. you want to expose... 
} 

得益于ToolStripItemDesignerAvailability属性,你甚至可以看到

alt text

PS:如下图所示在窗体设计的项目,
该解决方案来自这个MSDN example

+0

编辑添加设计器支持 – digEmAll 2010-12-02 20:37:28

0

是的,您需要将上下文菜单设置为用户绘制并自己绘制菜单项。您必须创建一个自定义菜单项的implementes一个跟踪条

0

对于它的价值的人谁使用过这个有问题绊倒:

构造函数型“System.Windows.Forms.ToolStripControlHost找不到。

我得到它的唯一方法是将派生控件放在它自己的文件中。当它与另一个控件位于同一个文件中时,它会让设计师感到困惑。