如果你真的想反复使用同一个网格在你的控制,你可以创建一个单一的,静电网,并让您ClientLookUp构造它添加到正确的地方面板,或什么,只要一个新的创建。
然而,在你走这条路之前,问问你自己这是否真的是你想要做的。在许多地方存在相同的电网可能会导致您在路上遇到问题。如果你想支持电网编辑,你会发现,改变一个值,改变你的所有其他网格相同的值..
编辑
我试图让下面的代码工作,但我不确定这种做法是否可行。看起来好像您尝试将同一UI元素附加到多个位置的那一刻,它就会从您放置的最后一个位置移出;它看起来并不像一次可以在同一个地方有同一个网格。这在你思考时很有意义。
这是我试过的代码。也许这对你有一些用处。
public UserControl1()
{
InitializeComponent();
this.Controls.Add(myStaticGridView);
myStaticGridView.Dock = DockStyle.Fill;
}
static DataGridView _staticGrid;
public DataGridView myStaticGridView
{
get
{
if (_staticGrid != null)
return _staticGrid;
_staticGrid = new DataGridView();
_staticGrid.Columns.Add("A", "A");
_staticGrid.Columns.Add("B", "B");
_staticGrid.Columns.Add("C", "C");
_staticGrid.Columns[0].DataPropertyName = "A";
_staticGrid.Columns[1].DataPropertyName = "B";
_staticGrid.Columns[2].DataPropertyName = "C";
_staticGrid.DataSource = new[] {
new { A = "someA", B = "someB", C = "someC"},
new { A = "someA", B = "someB", C = "someC"},
new { A = "someA", B = "someB", C = "someC"},
new { A = "someA", B = "someB", C = "someC"},
};
return _staticGrid;
}
}
然后加载这样的控制:
private void button1_Click(object sender, EventArgs e)
{
flowLayoutPanel1.Controls.Add(new UserControl1());
}
这不是一个函数,是构造函数(不具有返回类型) – Strillo