[.NET] VB動態物件的事件

看板Visual_Basic作者 (Rpdk)時間12年前 (2011/11/17 21:20), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
是這樣的~ 我程式寫 按一個按鈕 會自己宣告一個表單 和 一個 TextBox 一個label 並自行自訂一個事件 當 TextBox的text改變時 會去修改 label的值 例如 Dim fs As Form = New Form Dim T1 As TextBox = New TextBox Dim L1 As Label = New Label T1.Top = 0 T1.Left = 0 L1.Top = T1.Height L1.Left = 0 L1.Text = "NULL" AddHandler T1.TextChanged, AddressOf T1Changed fs.Controls.Add(T1) fs.Controls.Add(L1) fs.Show() 自訂事件 如: Private Sub T1Changed(ByVal sender As System.Object, ByVal e As System.EventArgs) L1.Text = T1.Text End Sub 這樣寫 再自定事件那 會認不得 L1 與 T1 有什麼辦法可以解決這個問題?? 我本來是想說 再自定事件傳進這兩個物件 只是 AddressOf下 我不會傳物件進去.. Google 好久還是找不到解答 拜託各位了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.230.40

11/17 22:46, , 1F
你應該可以在宣告時使用shared把L1和T1宣告為全域物件。
11/17 22:46, 1F

11/17 23:10, , 2F
sender就是發出此事件的對象
11/17 23:10, 2F

11/18 07:02, , 3F
感謝M大 只是全域的話 只要我再按第二次按鈕 就會出錯
11/18 07:02, 3F

11/18 07:03, , 4F
我想 fs.Controls.Add(T1)後 關掉表單被刪除了
11/18 07:03, 4F

11/18 07:04, , 5F
C大謝謝 只是我還需要 L1 T1的話的確可以用sender
11/18 07:04, 5F

11/18 19:15, , 6F
那還滿棘手的 :(
11/18 19:15, 6F

11/18 23:43, , 7F
11/18 23:43, 7F

11/18 23:43, , 8F
有用到多型的概念~
11/18 23:43, 8F
文章代碼(AID): #1EnGeaoe (Visual_Basic)