【发布时间】:2015-01-22 05:30:30
【问题描述】:
使用 MenuStrip 时,最好让项目和子项目具有一定的宽度,并且该宽度不应改变。假设宽度确实更改为很大的长度,而不是更改 MenuStrip 项的整个大小以适应文本,应该有一种方法只显示一些文本,例如省略号。
之前:
之后
很明显,我编辑了这个 MenuStrip MenuItem 的文本来说明我的意思。这可能吗?如果是这样,我该如何实现?
【问题讨论】:
-
我猜一个条目是在运行时动态添加/更新的?否则你已经有了解决方案
-
如果您不介意将原始文本保存在其他地方(例如,在 Tag 属性中),您可以创建一个递归函数来查找所有文本长度大于某个定义值的项目,并且适当地缩写这些项目。
-
项目在运行时动态添加
-
如果您想要一个恒定的长度,请使用Substring,然后只需附加
...。确保您使用长字符串作为工具提示或其他内容,但您不希望少数文件名条目只是说C:\Windows...! -
这是我最初的计划,但是我使用菜单项文本来启动程序,因为菜单项用于存储文件路径。我直接从菜单项中获取完整路径。如果我使用子字符串,它将不包含完整路径。我该如何解决这个问题?
标签: vb.net text menuitem ellipsis menustrip