如果你真的想反覆使用同一個網格在你的控制,你可以創建一個單一的,靜電網,並讓您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