Hola a todos.
Bueno, después de mucho buscar y combinar cosas, lo he solucionado de la siguiente manera, este código lo que hace es tomar las medidas en pixeles del texto e ir comparando con las medidas del contenedor, de tal forma que si aún es mas pequeño aumenta el
tamaño de la letra y vuelve a comparar. De esta forma, cuando determine que el tamaño del texto es mayor que el contenedor, el ciclo se rompe y deja nuestro texto al tamaño máximo sin generar scrollBars.
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
Dim inCr As Integer = 0 'Porción de incremento en el tamaño de la fuente
Dim objBmp As New Bitmap(1, 1) 'Objeto para la imagen a partir del texto
Dim Width As Integer = 0 'Ancho de la imagen a partir del texto
Dim Height As Integer = 0 'Alto de la imagen a partir del texto
Dim WidthRich As Integer = txtModerador.Width 'Ancho del contenedor
Dim HeightRich As Integer = txtModerador.Height 'Alto del contenedor
Dim currentFont As System.Drawing.Font = txtModerador.SelectionFont 'Fuente actual del contenedor
Dim objGraphics As Graphics = Graphics.FromImage(objBmp) 'Objeto contenedor de la imagen
'Obtenemos el Ancho y Alto que tendría el texto al pasarlo a imagen
Width = CInt(objGraphics.MeasureString(txtModerador.Text, txtModerador.SelectionFont).Width)
Height = CInt(objGraphics.MeasureString(txtModerador.Text, txtModerador.SelectionFont).Height)
'Vamos aumentando el tamaño de letra hasta que llene todo el contenedor sin pasarse
While Width + CInt(objGraphics.MeasureString(txtModerador.Text, txtModerador.SelectionFont).Width) < WidthRich And Height < HeightRich
'Asignamos la nueva medida al texto
txtModerador.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size + inCr, currentFont.Style)
'Incrementamos en 1 el tamaño de letra
inCr += inCr + 1
'Actualizamos las medidas del texto con el nuevo tamaño de fuente
Width = CInt(objGraphics.MeasureString(txtModerador.Text, txtModerador.SelectionFont).Width)
Height = CInt(objGraphics.MeasureString(txtModerador.Text, txtModerador.SelectionFont).Height)
End While
End Sub