是否可以将 TrackBar 控件添加到 ContextMenu?所以当我右键单击时,我的 ContextMenu 会下拉,并且 TrackBar 会作为菜单项出现?
5352 次
3 回答
13
如果您的上下文菜单是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
属性,您甚至可以在表单设计器中看到该项目,如下图所示:
PS
这个解决方案来自这个MSDN例子
于 2010-12-02T20:30:15.167 回答
0
是的,您需要将上下文菜单设置为用户绘制并自己绘制菜单项。您将必须创建一个自定义 MenuItem 来实现一个 TrackBar
于 2010-12-02T19:50:28.417 回答
0
对于任何偶然发现此问题的人来说,这是值得的:
找不到类型“System.Windows.Forms.ToolStripControlHost”的构造函数。
我让它工作的唯一方法是将派生控件放在它自己的文件中。当它与另一个控件在同一个文件中时,它会使设计者感到困惑。
于 2012-03-15T07:35:47.823 回答