看板 C_Sharp 關於我們 聯絡資訊
※ 引述《wantuno (男人該出手時,就不該猶豫)》之銘言: 不好意思我把問題稍微簡單化好了.... class的層級我不敢說我多麼清楚,但大致上也都了解 現在如果有MainForm(開啟程式產生)與Form1 , 各放上一個pictureBox,層級設定為public, 如果想要用MainForm將Form1呼叫出來並複製image, 我的方法是這樣,用兩個Button,一個開啟,另一個傳圖 Form1 Form1 = null ; void Button1Click(object sender, EventArgs e) { Form1 = new Form1(); Form1.Show(); } void Button2Click(object sender, EventArgs e) { this.pictureBox1.Image = Form1.pictureBox1.Image ; } 想請教,如果想從Form1複製MainForm,該怎麼做?? 我目前是在Form1設置一個Button void Button1Click(object sender, EventArgs e) { MainForm MainForm = new MainForm() ; this.pictureBox1.Image = MainForm.pictureBox1.Image ; } 問題是這樣每按一次,就new一個新個記憶體空間,實在有點.... 請問有其他更洽當的做法嗎??例如使用static的方式....等 請各位高手分享一下做法,thx. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.122.218.4
Cloud:你應該都是要複製同一個MainForm.picXXX到Form1... 03/20 10:35
Cloud:若你按button就new MainForm的話,是得不到你要的 03/20 10:36
Cloud:所以宣告為static 不失為一個方法 03/20 10:37
可以嘗試以下的作法 class frm : Form { public Image GetImage() { return picturebox1.Image; } } 不過還是如同推文的前輩所言,建議您還是將public, protected, private的觀念 釐清比較好!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.87.198