gpt4 book ai didi

c# - 更改 PropertyGrid 左侧集合编辑器/ View 的宽度

转载 作者:太空宇宙 更新时间:2023-11-03 20:45:44 24 4
gpt4 key购买 nike

任何带有长字符串的内容都会简单地引入一个带有滚动条的不可用 View 。

集合编辑器的宽度是否由设计固定,是否可以将拆分器引入到这个很棒的演示文稿中?

最佳答案

我还没有看到使用常规 PropertyGrid 执行此操作的方法,但如果您不介意付费,Visualhint 提供了更先进的产品 here - 也许试试吧。


这使用反射来完成工作;谨慎使用...

using System;
using System.Reflection;
using System.Windows.Forms;
class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Form form = new Form();
// this bar will control the splitter
ScrollBar sb = new HScrollBar {
Minimum = 10, Maximum = 200,
Dock = DockStyle.Bottom
};
// the grid we want to control
PropertyGrid grid = new PropertyGrid {
SelectedObject = form, Dock = DockStyle.Fill
};
// add to the form
form.Controls.Add(grid);
form.Controls.Add(sb);
// event to update the grid
sb.ValueChanged += delegate {
MoveSplitterTo(grid, sb.Value);
};
Application.Run(form);
}
static void MoveSplitterTo(PropertyGrid grid, int x) {
// HEALTH WARNING: reflection can be brittle...
FieldInfo field = typeof(PropertyGrid)
.GetField("gridView",
BindingFlags.NonPublic | BindingFlags.Instance);
field.FieldType
.GetMethod("MoveSplitterTo",
BindingFlags.NonPublic | BindingFlags.Instance)
.Invoke(field.GetValue(grid), new object[] { x });
}
}

关于c# - 更改 PropertyGrid 左侧集合编辑器/ View 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/937365/

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