gpt4 book ai didi

c# - 如何设置属性网格的列宽?

转载 作者:可可西里 更新时间:2023-11-01 08:40:45 25 4
gpt4 key购买 nike

我在我的应用程序中使用属性网格来显示对象属性的名称和值。

默认情况下,列(名称和属性)的宽度比例为 50:50。我们可以选择滑动分离器来改变这个宽度。我想知道如何以编程方式调整此宽度,以便将其设置为 25:75。

最佳答案

我发现 hamed 的解决方案不能可靠地工作。我已经通过以编程方式模拟用户拖动列拆分器来解决它。以下代码使用反射来执行此操作:

public static void SetLabelColumnWidth(PropertyGrid grid, int width)
{
if(grid == null)
return;

FieldInfo fi = grid.GetType().GetField("gridView", BindingFlags.Instance | BindingFlags.NonPublic);
if(fi == null)
return;

Control view = fi.GetValue(grid) as Control;
if(view == null)
return;

MethodInfo mi = view.GetType().GetMethod("MoveSplitterTo", BindingFlags.Instance | BindingFlags.NonPublic);
if(mi == null)
return;
mi.Invoke(view, new object[] { width });
}

关于c# - 如何设置属性网格的列宽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12447156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com