По умолчанию, размеры элементов задаются в точках, а размер шрифта - в пунктах (1 пт=0,35 мм).
И для корректного изменения размеров шрифта надо преобразовать высоту TextBox в пункты:
Hpt=(25.4/DPI*Hpix)/0,35, где:
Hpt - высота TextBox в пунктах;
DPI - разрешение экрана, точек/дюйм;
Hpix - высота TextBox в точках.
Получаем высоту TextBox в пунктах. Потом эту величину уменьшаем на несколько пунктов (чтоб текст не обрезался границами TextBox) и присваиваем эту цифирь FontSize. Например, если высота TextBox задана в 100 точек, на декстопном экране это будет (25,4/96*100)/0,35 = 75,6 пункта. Размер текста для такого можно взять 60-65 пунктов. На сколько именно уменьшить размер шрифта относительно высоты TextBox - тут нужно поэкспериментировать, чтоб обрезки не было.
Как-то вот так....
P.S. Насчет длины - тут несколько сложнее, если шрифт не моноширинный. Если моноширинный - то по аналогии с высотой.