我需要在按钮中显示路径。例如,此路径可能是
"c:\users\myuser\desktop\somefolder"
该按钮具有固定的大小,因此我正在寻找一种将文本转换为省略号的方法。
我想我会记得看到一个将这么长的路径转换成类似的东西的函数
"c:\users\...\somefolder"
但我不记得它是否是一个自定义解决方案,或者在.NET中是否有内置方法可以做到这一点。
我不是指将字符串转换为的ShortPath函数
"c:\users\myuser\deskto~"
谢谢。
一个简单的实现可能看起来像这样:
var pathString = @"c:\users\myuser\desktop\somefolder";
var maxStringLength = 25;
while(pathString.Length > maxStringLength)
{
var splitPath = pathString.Split('\\').ToList();
splitPath.Remove("...");
splitPath[splitPath.Count - 2] = "...";
pathString = string.Join("\\", splitPath);
}
请记住,这对于构成路径的内容有一个非常幼稚的看法。您可能会发现需要更改它,并根据您的需要编写适当的测试。