好的,我有2個窗體...在f1上是一個flowlayoutPanel和一個打開f2的按鈕。 在F2上有小面板,每個都是不同的顏色。 我想這樣做:當我從f2單擊一個面板時,在f1中的FLP中創建一個具有相同顏色和大小的面板。問題是,當我點擊f2上的第一個面板時,沒有任何反應。 這是我到目前爲止有:將Form2添加到Form1(MainForm)
F1
private void Add_Color_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}
F2
Form1 f1 = new Form1();
private void panel1_Click(object sender, EventArgs e)
{
Panel pnl = new Panel();
pnl.BackColor = panel1.BackColor;
pnl.Size = panel1.Size;
f1.BackColor = panel1.BackColor;
f1.FLPMain.Controls.Add(pnl);
this.Close();
}
這一行'Form1的F1 =新Form1中();'你創建一個新的form1。如果你想修改你現有的一個,你需要在你的Add_Color_Click方法中將它作爲form2'Form2 f2 = new Form2(this)'的引用傳遞給它。從那裏你將不得不在form1上創建一個公共方法來創建這個pannel –
如果我通過引用的方式,它只會創建一個全新的形式..:/ –
確保你有一個form2中的構造函數來保持對form1的引用作爲窗口2的私有字段 –