Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义ToolStrip渲染器-鼠标悬停时不显示下拉项_C#_.net_Vb.net_Contextmenustrip - Fatal编程技术网

C# 自定义ToolStrip渲染器-鼠标悬停时不显示下拉项

C# 自定义ToolStrip渲染器-鼠标悬停时不显示下拉项,c#,.net,vb.net,contextmenustrip,C#,.net,Vb.net,Contextmenustrip,我有一个ContextMenuStrip和一个自定义渲染器类,它根据用户的颜色选择绘制项目。但是,当自定义类处于活动状态时,必须单击ContextMenuStrip中的项才能显示其下拉项-它们不会自动显示 如何使它们像默认功能一样显示在悬停状态?菜单中的项目是动态生成的,并不总是相同的。请先显示您的代码。这是我的自定义渲染器类:您正在混合苹果和橙子。自定义渲染器仅渲染,不影响鼠标行为。下拉按钮在悬停时不显示其下拉列表,需要单击。@HansPassant那么,当您使用默认渲染器而不是自定义渲染器悬

我有一个ContextMenuStrip和一个自定义渲染器类,它根据用户的颜色选择绘制项目。但是,当自定义类处于活动状态时,必须单击ContextMenuStrip中的项才能显示其下拉项-它们不会自动显示


如何使它们像默认功能一样显示在悬停状态?菜单中的项目是动态生成的,并不总是相同的。

请先显示您的代码。这是我的自定义渲染器类:您正在混合苹果和橙子。自定义渲染器仅渲染,不影响鼠标行为。下拉按钮在悬停时不显示其下拉列表,需要单击。@HansPassant那么,当您使用默认渲染器而不是自定义渲染器悬停在ToolStripMenuItems上时,为什么ToolStripMenuItems会显示其下拉列表项?这是Windows中所有菜单的默认行为,只需在浏览器的菜单栏或任何菜单栏中尝试即可。如果将鼠标悬停在包含下拉项的菜单项上,则会显示下拉项。这里的问题是,当我将它设置为我的自定义渲染器类时,这种行为消失了。调整代码以测试它是非常痛苦的,你欠我15分钟的生命。该行为似乎受OnRenderTextItem中字体属性分配的影响。把它注释掉,它就会再次工作。这几乎肯定是故意的。