Я не могу думать ни о чем, но ваш подход может быть не лучшим. Вы добавляете логику представления в свой объект данных? Если это так, то я предлагаю вам применить эту логику в другом месте, например, статический класс StringDisplayUtils с GetShortStringMethod (int maxCharsToDisplay, string stringToShorten).
Тем не менее, такой подход может быть не очень хорошим. А как насчет разных шрифтов и наборов символов? Вы должны начать измерять фактическую длину строки в пикселях. Проверьте свойство AutoEllipsis в классе Label winform (вам, вероятно, потребуется установить AutoSize в false, если вы используете это). Свойство AutoEllipsis, если оно истинно, сократит строку и добавит для вас символы '...'.