Если вы действительно хотите изменить размер шрифта, вы можете попытаться определить, когда текст достигнет границ кнопки, а затем уменьшить размер шрифта. Вот некоторый код, с которого можно начать, но я не уверен, как определить длину начала переноса текста на основе ширины кнопки. Возможно, есть что-то другое для того, что я не смог найти.
// Get some info from the button control
var graphics = button1.CreateGraphics();
var font = button1.Font;
var textWidth = graphics.MeasureString(button1.Text, font).Width;
// Not sure what the magic formula is to determine when the word wraps
if (textWidth > button1.Width - 25)
{
// Assign a new font based on the old one, but smaller
button1.Font = new Font(font.FontFamily, font.Size - 1,
font.Style, GraphicsUnit.Pixel);
}