我有一个包含许多项目的 ContextMenuStrip。
如何处理鼠标滚轮滚动项目?
我在网上搜索,但没有找到有用的。
或者如何从上下文菜单中获取第一个/最后一个显示/可见的项目?
我有一个包含许多项目的 ContextMenuStrip。
如何处理鼠标滚轮滚动项目?
我在网上搜索,但没有找到有用的。
或者如何从上下文菜单中获取第一个/最后一个显示/可见的项目?
由于这是一个老问题,您可能不需要这个,但只是以防万一,以备将来参考。您可以模拟上下按键来滚动它,它远非完美,但它比必须编写自己的ContextMenuStrip来处理滚轮要好。 鼠标滚轮滚动工具条菜单项
虽然这个问题很老了,但有人可能仍然会从我的输入中受益......
var menu = new ContextMenuStrip();
menu.MouseWheel += (ob, ev) => SendKeys.SendWait(ev.Delta > 0 ? "{UP}" : "{DOWN}");
向 CMS 添加太多需要滚动的项目完全违背了上下文菜单的目的。不要设计一个难以使用并且需要用户浏览几十个项目的 UI。你的用户会不喜欢你热情地编程,并会发现你住在哪里。
CMS 支持子菜单。对您的菜单项进行分类。