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

備註

最佳寬度和高度是藉由測量字串大小、考慮其字型和屬性,以及新增邊界值來計算。

適用於

另請參閱