是否可以向ContextMenu添加TrackBar控件?所以当我右击的时候,我的ContextMenu将会下拉,一个TrackBar会作为菜单项出现?
发布于 2010-12-03 04:30:15
如果您的上下文菜单是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属性,您甚至可以在窗体设计器中看到该项,如下图所示:

P.S.
此解决方案来自此MSDN example
发布于 2010-12-03 03:50:28
是的,您需要将上下文菜单设置为user draw并自己绘制菜单项。您必须创建一个实现TrackBar的自定义MenuItem
发布于 2012-03-15 15:35:48
对于那些在以下方面遇到问题的人来说,这是值得的:
找不到类型'System.Windows.Forms.ToolStripControlHost‘上的
构造函数。
我让它工作的唯一方法是将派生控件放在它自己的文件中。当它与另一个控件在同一文件中时,它会使设计器感到困惑。
https://stackoverflow.com/questions/4339143
复制相似问题