![]() |
突發奇想的問題
像 表單
在表單的事件(EVENT) 中 可以用 ME 可以代表 那 控制項 有沒有類似的 關鍵字 來代替(至少在它自己的事件可以用) 只是突然想到的,因為不然每個都要 傳控制項 有點小累!! ========================================== 實例: chkOther、 chkUCASE 都是 checkBox 控制項 (事實上還有很多個) JetTemp_OnlyFortSume( 是 自訂 Function) Private Function JetTemp_OnlyFortSume(JetControl_CheckBox As CheckBox, ByVal JetTemp$) As String If JetControl_CheckBox.Value = 1 Then .. .. Else ... ... End If End Function Private Sub chkOther_Click() Dim JetTemp$ ' 數字 JetTemp = "O" tSum.Text = JetTemp_OnlyFortSume(chkOther, JetTemp) End Sub Private Sub chkUCASE_Click() Dim JetTemp$ ' 數字 JetTemp = "U" tSum.Text = JetTemp_OnlyFortSume(chkUCASE, JetTemp) End Sub |
不太懂耶 ^^||
是指 各控制項使用同一個 自訂Function 時 不想傳遞(填) 控制項名稱 這個參數嗎? 那就要寫一個藉 滑鼠游標位置獲得控制項 的涵式 以此涵式傳回值為 自訂Function之參數 如此就可變成 Private Sub chkOther_Click() ... tSum.Text = JetTemp_OnlyFortSume(IsCtrlItem_Object, JetTemp) End Sub Private Sub chkUCASE_Click() ... tSum.Text = JetTemp_OnlyFortSume(IsCtrlItem_Object, JetTemp) End Sub 至於 IsCtrlItem_Object 這個涵式的實作... 看看有沒有能人可以實作 (可能要用到幾個 WinAPI 比如 SendMessage ...) |
VB的控制項可利用類似陣列的方式處理
譬如說您可以放一個按鈕 然後將它複製,在貼上(可以一直貼上),這時系統就會問您是否要見一個陣列 若您回答是,那這群按鈕就會只用一的事件,您會看到傳入值多一個Item |
引用:
確實是不想傳遞 這個參數,但在 自訂 Function 裡面又必須有 一個xx 來代表 目前控制項 才行!! 像 Form 的話,就可以寫成 Me 就可代表 Form (先假設 VB 中 目前控制項 可以用 HE 來取代 那麼 (1) If JetControl_CheckBox.Value = 1 Then 就可以改寫成 改成 If HE.Value = 1 Then (2)目的: (1)不用傳 控制項 參數 (2)自訂 Function 又可以達到取得 目前所在控制項 的資訊,以完成作業! 換句話說就是想知道 VB 有沒有提供這樣的東西可以用!! 就像 Me 也是 VB 提供的, (自己實做是比較難累了點) 引用:
因為都是 同樣的控制項名稱,小弟就很難一下子知道它的用途是什麼了! 那麼 偶 還要記住說 Index = 0 是代表 什麼 、 Index = 1 又是代表 什麼用途!!! 偶習慣看到物件的命名 完全依實際上的用途 這樣 比較不會 ,不要打偶喔!! 真奇怪,為什麼目前的表單 有簡寫,目前的 Control 確沒有 相對的簡寫咧!!真好奇!! ◎◎(小弟 想到了,有試過 Screen.ActiveControl 啦,差不多 符合偶的需求,只不過它的流程好像更遠了,也不是很確定會不會有問題) 感謝 版主 及 魔術王子 的回覆, 拍寫啦,小弟就是懶 才會有這樣的想法的!!提出來互相研究研究囉!! |
引用:
< :) > |
引用:
原本是用 JetControl_CheckBox 這個名稱 (來代表所有的傳進來的控制項) 可惜改名稱不是小弟想要的結果 其實啊,問題該改成 什麼 才能真正代表目前的控制項!! |
所有時間均為台北時間。現在的時間是 03:38 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *