看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《clifflu ( 強運逃敗 兩次 !)》之銘言: : 在兩個 TextBox 的 OnChange 事件裡,將產生事件的物件值, : 給複製到另一個物件裡。 : 為了達成這個目標,你需要在 MainForm 和 Form1 裡,各自存有另一個 Form : 實體的參考,再透過該參考去提取表單內的 TextBox 物件。 底下是自以為像 VB 的虛擬碼,請自行修正 Class MainForm ' 啟動表單 Public TB as TextBox Private Form1 myForm1 Public Sub MainForm_OnLoad() handles Me.onLoad myForm1 = new Form1() myForm1.caller = Me myForm1.Show() End Sub Public Sub TB_OnChange () handles TB.onChange if not myForm1 is null then myForm1.TB.text = TB.text end if End Sub End class 'MainForm Class Form1 Public TB as TextBox Public caller as MainForm Public Sub TB_OnChange() handles TB.onChange if not caller is null then caller.TB.text = TB.text end if End Sub End Class 當然,像這樣把自己的物件設為 Public 直接暴露出來不太好, 設為 Friend 稍微安全點,可是還是與物件導向的精神有點違背 實作出適當的屬性 (Property) 去提取與設定內容會好一些 另外,上面也只有檢查物件是否存在, 事實上還是有 Form 被建立,然後又被關掉的狀況 可以在 Dispose 裡面,去把對方指向自己的參考弄回 null 或者直接用 Try-Catch 處理可能的錯誤 --- 然後 Databinding 啊,照 MSDN 說是可以直接和物件值連接啦, 不過我剛沒試出來怎麼搞,自己照線上範例,弄個 DataTable 試試吧 -- 鬼壓床怎麼辦 騎上去啊 Blog: http://clifflu.blogspot.com/ Since March, 2007 Photo Galelry: http://www.picasaweb.com/clifflu 沒有了 T_T -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.190
jskshan:感謝你的意見 05/15 00:08