Re: [問題] 請教一個關於MainForm的觀念

看板C_Sharp作者 (做自己)時間17年前 (2009/03/22 23:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《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

03/20 10:35,
你應該都是要複製同一個MainForm.picXXX到Form1...
03/20 10:35

03/20 10:36,
若你按button就new MainForm的話,是得不到你要的
03/20 10:36

03/20 10:37,
所以宣告為static 不失為一個方法
03/20 10:37
可以嘗試以下的作法 class frm : Form { public Image GetImage() { return picturebox1.Image; } } 不過還是如同推文的前輩所言,建議您還是將public, protected, private的觀念 釐清比較好!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.87.198
文章代碼(AID): #19nbO5x- (C_Sharp)
文章代碼(AID): #19nbO5x- (C_Sharp)