我正在使用Windows窗体应用程序,我有一个DataGrid
我试图增加列标题的高度。
我知道它是如何为数据网格视图完成的,但我不确定DataGrid
。
我有一个名为Actual \n Qty
的列,显示如下:
我是否知道可以增加列标题高度的方法?
答案 0 :(得分:1)
列标题的高度基于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();
您可以指定您认为足够的高度,也可以计算所有列的文本高度,并将该字段设置为最大值。