1
我正在使用Windows窗体应用程序,并且我有一个DataGrid
,我正在尝试增加列标题的高度。增加Windows窗体DataGrid中的列标题的高度(不是DataGridView)
我知道如何完成datagridview,但我不确定DataGrid
。
我有一个名为Actual \n Qty
列,而这正显示如下:我知道一种方法,我们可以提高的列标题高度
?
我正在使用Windows窗体应用程序,并且我有一个DataGrid
,我正在尝试增加列标题的高度。增加Windows窗体DataGrid中的列标题的高度(不是DataGridView)
我知道如何完成datagridview,但我不确定DataGrid
。
我有一个名为Actual \n Qty
列,而这正显示如下:我知道一种方法,我们可以提高的列标题高度
?
列标题的高度根据HeaderFont
属性计算并存储在私有文件headerFontHeight
中。你可以使用反射获取字段并改变它的值是这样的:
var p = typeof(DataGrid).GetField("headerFontHeight",
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
p.SetValue(dataGrid1, dataGrid1.HeaderFont.Height * 2);
var m = typeof(DataGrid).GetMethod("OnLayout",
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
m.Invoke(dataGrid1, new object[] { null });
dataGrid1.Invalidate();
您可以将您认为是足够的高度,也可以计算出所有列的文本的高度并设置字段设置为最大值。
这是CaptionFont.Size –
@HansPassant我认为这只是增加了标题中的文本大小,但不是标题行的高度?我在多行中有一个列名,但是两行不符合当前标题行 – DoIt
@Dev它真的是'.Net 1.1'还是因为DataGrid而用它标记?如果仅仅是因为'DataGrid',你可以将标签更改为'.Net'。 –