Salut, un code qui reprend plus ou moins les solutions données plus haut :
// Dans le constructeur.
const string TEXT = "Click !";
StringFormat sf = new StringFormat( );
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
Button b = new Button( );
b.Parent = this;
b.Dock = DockStyle.Fill;
b.Paint += delegate( object sender, PaintEventArgs args )
{
Graphics g = args.Graphics;
RectangleF clientRect = ( RectangleF )b.ClientRectangle;
SizeF textSize = g.MeasureString( TEXT, b.Font );
float width = clientRect.Width / textSize.Width;
float height = clientRect.Height / textSize.Height;
float ratio = width < height ? width : height;
Font font = new Font( b.Font.FontFamily, b.Font.Size * ratio );
g.DrawString( TEXT, font, Brushes.Black, clientRect, sf );
};