是否可以将TrackBar控件添加到ContextMenu?所以,当我右键单击时,我的ContextMenu将下拉,TrackBar将显示为菜单项?
答案 0 :(得分:12)
如果您的上下文菜单是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
属性,您甚至可以在Forms Designer中看到该项,如下图所示:
<强> P.S。强>
此解决方案来自此MSDN example
答案 1 :(得分:0)
是的,您需要将上下文菜单设置为用户绘图并自己绘制菜单项。您必须创建一个自定义MenuItem来实现TrackBar
答案 2 :(得分:0)
对于遇到这些问题的人来说,这是值得的:
未找到类型'System.Windows.Forms.ToolStripControlHost'的构造函数。
我让它工作的唯一方法是将派生控件放在它自己的文件中。如果它与另一个控件位于同一个文件中,则会使设计者感到困惑。