Dimensionar automáticamente la altura de las líneas de un DataGrid

3839 vistas

Primero tendremos que saber cómo [iurl=91&all=0&fs=600#1218]modificar la altura de las líneas de un DataGrid[/iurl]. Usaremos esta clase (MiDataGrid) derivada de DataGrid y especialmente su método público setRowHeight.



csharp
  1. using System;
  2. using System.Drawing;
  3. using System.Reflection;
  4. using System.Windows.Forms;
  5.  
  6. public class MiDataGrid : DataGrid
  7. {
  8.   //...
  9.  
  10.   // método público que dimensiona automáticamente la altura de las líneas
  11.   public void AutoSizeRows()
  12.   {
  13.     using(Graphics g = Graphics.FromHwnd(this.Handle))
  14.     {
  15.         SizeF s = g.MeasureString("test", this.Font);
  16.         int h = Convert.ToInt32(s.Height);
  17.         h += 8;
  18.         setRowHeight(-1,h);
  19.     }
  20.  
  21.   }
  22.  
  23. }