gpt4 book ai didi

c# - 基于数据源c#在运行时自动创建表单

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

我希望在运行时创建一个表单,它将读取任何数据源的列并根据列和数据类型创建字段,就像数据 GridView 插入行一样

最好的问候,标记

最佳答案

您所做的听起来很像 PropertyGrid 的工作方式,本质上是:

foreach(PropertyDescriptor prop in TypeDescriptor.GetProperties(obj)) {
object val = prop.GetValue(obj);
string s = prop.Converter.ConvertToString(val);
Control cont = // TODO: create some control and set x/y
cont.Text = s;
this.Controls.Add(cont);
}

为避免大量对齐工作,使用 Dock 设置位置可能会有所帮助:

        using(Form form = new Form())
using (PropertyGrid grid = new PropertyGrid())
{
form.Text = obj.ToString(); // why not...
grid.Dock = DockStyle.Fill;
form.Controls.Add(grid);
grid.SelectedObject = obj;
form.ShowDialog(this);
}

不过,我想知道在简单情况下使用 PropertyGrid 是否更容易。或者有一些3rd-party versions其工作方式类似。

关于c# - 基于数据源c#在运行时自动创建表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994789/

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