我需要在按钮中显示路径。 例如,此路径可能是
"c:\users\myuser\desktop\somefolder"
按钮的大小固定,因此我正在寻找一种将文本转换为椭圆形版本的方法。
我想我还记得我看到过一个函数,该函数会将如此长的路径转换为类似的东西
"c:\users\...\somefolder"
但是我不记得它是否是自定义解决方案,还是在.NET中有内置的方法来实现这一点。
我的意思不是说ShortPath函数会将字符串变成
"c:\users\myuser\deskto~"
谢谢。
答案 0 :(得分:0)
一个简单的实现可能看起来像这样:
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);
}
请记住,这对构成路径的观点非常幼稚。您可能会发现需要更改它,并根据需要编写适当的测试。