DataGridTextBoxColumn.GetPreferredSize(Graphics, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回相对于指定值的单元格在指定行中的最佳宽度和高度。
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
参数
- 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
注解
最佳宽度和高度是通过测量字符串大小、考虑其字体和属性以及添加边距值来计算的。