看板 C_Sharp 關於我們 聯絡資訊
各位高手好,不才又來板上請教似乎應該是很基本的技巧m(_ _)m 以往老師授課都是教我們用好用的工具箱拉物件出來, 然後直接點兩下開始寫程式,很方便很直覺很簡單, textBox1、Button1....已經變成習慣。 現在私底下自己在摸索一些進階的功能,遭遇了一個障礙, 我用程式碼動態的建立一個物件後,不知道怎麼呼叫它?! 程式碼是這樣子的: Button Btn = new Button(); 然後是一串物件描述(Name. Location. Size...) this.Controls.Add(Btn); Btn.Click += new EventHandler(Btn_Click); 然後下面再寫一個函式來描述這些物件的作用 void Btn_Click(object sender, EventArgs e) { } 以上是我Google出來的寫法,還算過得去,也看得懂, 但是卡在Btn_Click裡面不知道怎麼開始著手, 比如我要知道這個建立出來的Btn的Size, 以往只要簡單的Button1.Size這樣就呼叫出來了, 但現在前面的主詞要放什麼都不對, 我試過直接用this,但不對,它會呼叫到Form1的(?), 另外試了幾個也都不行,也Google不到,只好厚著臉皮來板上問。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.171.246.211
james732:Button btn = (Button)sender; 06/24 23:32
唔,可以了! 原來是這樣,感謝指教orz ※ 編輯: stu87616 來自: 1.171.246.211 (06/24 23:51) 希望還有人會看到(?) 進一步的問題是這樣的, 我動態的建立了許多PictureBox,想要換圖片的時候不知道該如何呼叫, 我用this.Controls.Find(); 這個指令可以成功的抓到我要的那些PictureBox 但是this.Controls.Find().←這裡之後,用Name啦,Size啦,都可以很正常抓到, 但那是很通用的屬性,PictureBox獨有的Image屬性就不會出來, 這樣不知道怎麼改圖片... 請問我這樣的做法有錯嗎?要怎麼過這關... ※ 編輯: stu87616 來自: 1.162.162.170 (06/26 23:21)
stu87616:自推一下 希望有人能看到orz 06/26 23:21
s3748679:...應該可以轉型吧 06/26 23:28
s3748679:話說當初動態生成的時候,不就可以把增加的記錄下來了嗎 06/26 23:29
呃...可以詳細一點說明嗎@@ 要怎麼記錄下(這樣就能讓編譯器知道這是一個PictureBox嗎? ※ 編輯: stu87616 來自: 1.162.162.170 (06/26 23:34) 還有轉型...感覺就是我要的答案,這個要怎麼做? ※ 編輯: stu87616 來自: 1.162.162.170 (06/26 23:34)
s3748679:var b1 = (Button)controls.Find("button1", true)[0]; 06/26 23:40
s3748679:這例子可以嗎 06/26 23:40
stu87616:我看得懂這個意思..不過嘗試下去編譯器還是沒有出現Image 06/26 23:44
stu87616:的屬性給我控制@@ 06/26 23:44
s3748679:((XXX)controls.Find("OXOX", true)[0]).Image這樣? 06/26 23:49
s3748679:這樣總該會跳出來了吧.. 06/26 23:49
stu87616:試出來了 感謝大大耐心解說 06/26 23:53
stu87616:是先 var b1=((XXX)controls.Find("OXOX", true)[0]); 06/26 23:53
stu87616:然後b1.Image就會出現了 06/26 23:53
andymai:s3748679大大用心解了這些~有瞭解為什麼可以這樣用嗎?為什 06/27 01:22
andymai:麼會有通用屬性?為什麼會有Image屬性? 06/27 01:23
stu87616:嗯..我的想法是沒有特別說就只有通用屬性 06/27 01:55
stu87616:因為用強制轉換註明了這是一個pictureBox,所以編譯器知道 06/27 01:55
stu87616:這個控制項該有Image 06/27 01:55
andymai:這...我想還是先去看看什麼是"繼承"、"界面"~"深入淺出設 06/27 02:24
andymai:計模式"雖然是用Java寫的~但看懂它應該沒問題~先看懂第一 06/27 02:25
andymai:章的鴨子範例就好了~再回頭看這裡的 Control、Button、Pic 06/27 02:26
andymai:tureBox是什麼樣的關係~接著可以查微軟官網~看看為什麼sen 06/27 02:27
andymai:der可以轉成該button來使用~EvenArgs的用處又是什麼... 06/27 02:28
s3748679:有物件瀏覽器可以查... 不夠的話再去逛逛msdn.. 06/27 12:12
stu87616:ok,瞭解了 感謝詳細的講解..我會盡力確實鑽研的 06/27 20:37
tvbic:你先買本書來看好嗎 06/28 01:28