作者cczeke (阿其)
看板C_Sharp
標題[問題] 請問宣告出新的pictureBox後 要如何在其他的涵式中使用 ?
時間Wed Mar 12 13:50:23 2008
請問如果在 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)
1F:推 reptile0426:你換個角度想,要是你先按button2,會發生什麼事呢? 03/12 13:54
2F:→ cczeke:我有想過 就是button2裡的 pic 還沒被宣告 03/12 14:00
3F:→ cczeke:我本來是想說要加個public之類的 讓其他涵式也能存取 03/12 14:00
4F:→ cczeke:可是如果加 public 會發生語法上的錯誤 03/12 14:01
5F:→ cczeke:我現在是在想 是不是要用static的方式來宣告 03/12 14:01
6F:→ cczeke:只是我還不知道該怎麼下手 >"< 03/12 14:01
7F:推 reptile0426:把他設為全域變數吧 03/12 14:06
8F:→ cczeke:可是C# 不是不允許設為全域變數嗎? 好像只能宣告在class裡 03/12 14:14
9F:→ cczeke:還是說要宣告在 Form1.Desinger.cs 的檔案裡? 03/12 14:15
10F:→ cczeke:我好像知道該把全域變數放在那裡了 感謝您 >"< 03/12 14:17
11F:→ qweqweqweqwe:先去抓動態產生出來的物件PictureBox? 03/12 16:25
12F:→ tamuchang:button1_Click和button2_click的pic是完全沒關係的, 03/17 17:28