Get a Graphics object for the button and use its MeasureString method to compute the width you need.
Graphics g = button1.CreateGraphics();
float w = g.MeasureString(button1.Text, button1.Font).Width;
g.Dispose();
button1.Width = (int)w + 12; // 12 is for the margins
Share with