This works
// Specify max width of resulting file name
const int MAX_WIDTH = 50;
// Specify long file name
string fileName = @"A:\LongPath\CanBe\AnyPathYou\SpecifyHere.txt";
// Find last '\' character
int i = fileName.LastIndexOf('\\');
string tokenRight = fileName.Substring(i, fileName.Length - i);
string tokenCenter = @"\...";
string tokenLeft = fileName.Substring(0, MAX_WIDTH-(tokenRight.Length + tokenCenter.Length));
string shortFileName = tokenLeft + tokenCenter + tokenRight;