DataGridTextBoxColumn.GetPreferredSize(Graphics, Object) メソッド

定義

指定した値を基準にして、指定した行のセルの最適な幅および高さを返します。

protected public:
 override System::Drawing::Size GetPreferredSize(System::Drawing::Graphics ^ g, System::Object ^ value);
protected internal override System.Drawing.Size GetPreferredSize (System.Drawing.Graphics g, object value);
override this.GetPreferredSize : System.Drawing.Graphics * obj -> System.Drawing.Size
Protected Friend Overrides Function GetPreferredSize (g As Graphics, value As Object) As Size

パラメーター

g
Graphics

画面に図形を描画するために使用する Graphics オブジェクト。

value
Object

描画する値。

戻り値

セルの大きさを格納する Size

次の例では、 を使用 GetPreferredSize して を返します Size

public ref class MyGridColumn: public DataGridTextBoxColumn
{
public:
   Size GetPrefSize( Graphics^ g, String^ val )
   {
      return this->GetPreferredSize( g, val );
   }

};

public ref class Form1: public Form
{
protected:
   DataGrid^ dataGrid1;

private:
   void GetPreferredSize()
   {
      Graphics^ g;
      g = this->CreateGraphics();
      System::Drawing::Size gridPreferredSize;
      MyGridColumn^ myTextColumn;
      
      // Assuming column 1 of a DataGrid control is a 
      // DataGridTextBoxColumn.
      myTextColumn = dynamic_cast<MyGridColumn^>(dataGrid1->TableStyles[ 0 ]->GridColumnStyles[ 1 ]);
      String^ myVal;
      myVal = "A long string value";
      gridPreferredSize = myTextColumn->GetPrefSize( g, myVal );
      Console::WriteLine( gridPreferredSize );
   }

};
public class Form1: Form
{
 protected DataGrid dataGrid1;

private void GetPreferredSize(){
   Graphics g;
   g = this.CreateGraphics();
   Size gridPreferredSize;
   MyGridColumn myTextColumn;
    // Assuming column 1 of a DataGrid control is a 
    // DataGridTextBoxColumn.
   myTextColumn = (MyGridColumn)
   dataGrid1.TableStyles[0].GridColumnStyles[1];
   string myVal;
   myVal = "A long string value";
   gridPreferredSize = myTextColumn.GetPrefSize(g, myVal);
   Console.WriteLine(gridPreferredSize);
   }
}

public class MyGridColumn:DataGridTextBoxColumn{
   public Size GetPrefSize(Graphics g, string val){
      return this.GetPreferredSize(g, val);
   }
}
Public Class Form1
    Inherits Form
    Protected dataGrid1 As DataGrid
    
    Private Sub GetPreferredSize()
        Dim g As Graphics
        g = Me.CreateGraphics()
        Dim gridPreferredSize As Size
        Dim myTextColumn As MyGridColumn
        ' Assuming column 1 of a DataGrid control is a 
        ' DataGridTextBoxColumn.
        myTextColumn = CType(dataGrid1.TableStyles(0). _
        GridColumnStyles(1), MyGridColumn)
        Dim myVal As String
        myVal = "A long string value"
        gridPreferredSize = myTextColumn.GetPrefSize _
        (g, myVal)
        Console.WriteLine(gridPreferredSize)
    End Sub 
End Class 

Public Class MyGridColumn
Inherits DataGridTextBoxColumn
   public Function GetPrefSize(g As Graphics , val As string) _
   As Size
      return me.GetPreferredSize(g, val)
   End Function
End Class

注釈

最適な幅と高さは、文字列のサイズを測定し、そのフォントと属性を考慮し、余白値を追加することによって計算されます。

適用対象

こちらもご覧ください