[問題] 請問宣告出新的pictureBox後 要如何在ꠠ…

看板C_Sharp作者 (阿其)時間18年前 (2008/03/12 13:50), 編輯推噓2(2010)
留言12則, 4人參與, 最新討論串1/1
請問如果在 button1_click中宣告出新的pictureBox元件 如下: private void button1_Click(object sender, EventArgs e) { PictureBox pic = new PictureBox(); pic.SizeMode = PictureBoxSizeMode.StretchImage; pic.Location = new Point(12, 12); pic.Size = new Size(300, 300); pic.Image = Image.FromFile(openFileDialog1.FileName); this.Controls.Add(pic); } 之後 如果想要在 button2_click 事件 繼續使用已經宣告過的 pic 元件 我是寫成這樣 private void button2_Click(object sender, EventArgs e) { pic.Image = FromFile(String filename); } 想要按下button2之後 會在pic中顯示出 String filename 的圖 可是偵錯之後 complier 會告訴我 『名稱 'pic' 不存在於目前的內容中』 請問是那裡沒寫好 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.179.140 ※ 編輯: cczeke 來自: 140.116.179.140 (03/12 13:51)

03/12 13:54, , 1F
你換個角度想,要是你先按button2,會發生什麼事呢?
03/12 13:54, 1F

03/12 14:00, , 2F
我有想過 就是button2裡的 pic 還沒被宣告
03/12 14:00, 2F

03/12 14:00, , 3F
我本來是想說要加個public之類的 讓其他涵式也能存取
03/12 14:00, 3F

03/12 14:01, , 4F
可是如果加 public 會發生語法上的錯誤
03/12 14:01, 4F

03/12 14:01, , 5F
我現在是在想 是不是要用static的方式來宣告
03/12 14:01, 5F

03/12 14:01, , 6F
只是我還不知道該怎麼下手 >"<
03/12 14:01, 6F

03/12 14:06, , 7F
把他設為全域變數吧
03/12 14:06, 7F

03/12 14:14, , 8F
可是C# 不是不允許設為全域變數嗎? 好像只能宣告在class裡
03/12 14:14, 8F

03/12 14:15, , 9F
還是說要宣告在 Form1.Desinger.cs 的檔案裡?
03/12 14:15, 9F

03/12 14:17, , 10F
我好像知道該把全域變數放在那裡了 感謝您 >"<
03/12 14:17, 10F

03/12 16:25, , 11F
先去抓動態產生出來的物件PictureBox?
03/12 16:25, 11F

03/17 17:28, , 12F
button1_Click和button2_click的pic是完全沒關係的,
03/17 17:28, 12F
文章代碼(AID): #17rsyWAx (C_Sharp)