看板 C_Sharp 關於我們 聯絡資訊
請問如果在 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)
reptile0426:你換個角度想,要是你先按button2,會發生什麼事呢? 03/12 13:54
cczeke:我有想過 就是button2裡的 pic 還沒被宣告 03/12 14:00
cczeke:我本來是想說要加個public之類的 讓其他涵式也能存取 03/12 14:00
cczeke:可是如果加 public 會發生語法上的錯誤 03/12 14:01
cczeke:我現在是在想 是不是要用static的方式來宣告 03/12 14:01
cczeke:只是我還不知道該怎麼下手 >"< 03/12 14:01
reptile0426:把他設為全域變數吧 03/12 14:06
cczeke:可是C# 不是不允許設為全域變數嗎? 好像只能宣告在class裡 03/12 14:14
cczeke:還是說要宣告在 Form1.Desinger.cs 的檔案裡? 03/12 14:15
cczeke:我好像知道該把全域變數放在那裡了 感謝您 >"< 03/12 14:17
qweqweqweqwe:先去抓動態產生出來的物件PictureBox? 03/12 16:25
tamuchang:button1_Click和button2_click的pic是完全沒關係的, 03/17 17:28