![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 city ![]()
![]() |
各位如果要在Form1更改Form2裡面的物件的屬性 通常會怎麼做呢? 例如: Form1要更改Form2的標題文字 Form1要更改Form2.Button1的文字 Form1要清空Form2的ListBox1 ... ... 範例(直接修改): Form上面物件的Modifiers屬性預設是:Friend 理論上是可以直接更改 我目前是用類別裡的共用副程式來更改 不過有點想改回直接修改 不知道各位前輩及大大們都是如何處理的? 謝謝~~ |
1樓 |
看沒
什麼狀況稱之為 直接修改?
本篇文章回覆於2019-01-28 19:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
city ![]() |
To:P陳
0樓的程式碼就是我所謂的[直接修改] 例如:Form1想改Form2.TextBox1的文字 讓Form2.TextBox1的文字等於現在時間 我所謂的[直接修改] 就像這樣:
本篇文章回覆於2019-01-28 20:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
不過有點想改回直接修改 <--- 已經是直接修改了 還要改回直接修改
真的無法瞭解
本篇文章回覆於2019-01-28 22:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
city ![]() |
To:P陳
我以前是用[直接修改](像2樓那樣) 後來改成用[自訂類別.方法]修改 現在又在考慮改回[直接修改] 因此想看看版上大大們都是怎麼處理的
本篇文章回覆於2019-01-28 23:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
最有價值解答
P陳 ![]() |
瞭解了
個人二種方法都有用過,何時用那種方法則是看情況而定。 不過我較偏重用 自訂類別 的方法來作, 尤其是同一個物件會在多個地方重覆出現時,用自訂類別的方式,改一個地方就全部改過了。 如此當再增加一個FORM 時,不必所有程式皆要巡一遍。 而您當初改成 自訂類別 應該是有原因的。 能否請您將您 自訂類別.方方 的 程式PO出來一下。 (因為我們的寫法一定有落差)
本篇文章回覆於2019-01-29 11:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
city ![]() |
To:P陳
我記得當初是因為想要方便尋找 像是:"專案裡有幾個地方設定了Form的標題" 因此把程式碼包在副程式/函式裡面 一開始這些函式是寫在Form1裡面 後來改成寫在模組裡面 後來又改成寫在自訂類別裡面 其實這是我原本想另外再問的一個問題:"大家會將這樣的程式碼寫成副程式/函式嗎?" 我從大大5樓內容看來 大大可能是因為要方便管理(只要修改一個地方 就能將全部需要修改的地方全改好) 我猜想大大可能是將程式碼寫死在自訂類別方法裡面 像這樣: 上面的程式碼 Form2已經寫死了 "ABC"也寫死了 這樣修改這個自訂類別方法 就能將全部呼叫這個方法的地方全改好 不過這只是我的猜測... 我的程式碼跟大大的可能不同 程式碼如下: 我並沒有將程式碼寫死 也就是Form是可以變的 Form文字也是可以變的 之前是為了想知道有那些地方更改了Form的標題(呼叫此自訂類別方法) 不過任何方法總是有優點 有缺點 這個方法的缺點就是有點多此一舉 同樣要丟兩個變數(Form)(Form文字) 用:Form2.Text=Now這樣直接的寫法就可以了 因此 我最近再考慮要不要改回直接修改:Form2.Text=Now 而不是用自訂類別.方法來修改
本篇文章回覆於2019-01-29 12:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓
作者回應
city ![]() |
補充6樓:
[自訂類別.方法]還有個缺點: 專案裡會有大量的自訂類別 因為我習慣一個自訂類別裡面只會有1個方法 如果有10個方法 我會寫10個自訂類別 這只是個人習慣 因為我很怕看到一大堆程式碼(一個類別裡面有很多方法) 目前是嘗試用類別庫(.dll)來取代類別(.vb) 能解決專案裡面有一大堆的自訂類別 不過又產生一個新的問題:專案裡的類別庫太多...哈哈
本篇文章回覆於2019-01-29 12:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓 |
一個類別庫會放很多方法
應該加以分類將相同類型的方法放在同一個類別庫中 比如 DBIO 的放一個 計算的放一個 加解密的 而且都是可重覆引用的
本篇文章回覆於2019-01-29 14:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓
作者回應
city ![]() |
To:P陳 8樓
目前正嘗試把類別(.vb) 寫入類別庫(.dll) 感謝大大8樓所提供的方法 :) 我把函式寫法另外開一個問題來發問 其實那個問題跟這個問題是有關連的 原本是想分開問 現在決定還是放在一起問好了 這樣看能不能總結出一個結果...哈
本篇文章回覆於2019-01-29 17:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
10樓 |
題目不明確是不會有結果的
建議您將問題再度思考釐清後,重新發問 才會讓其他高手看見
本篇文章回覆於2019-01-29 22:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
11樓
作者回應
city ![]() |
To:P陳
哈哈...大大也是眾多高手之一阿 大大應該"至少"VB6.0就開始寫程式了(或許更早) 算一算也是資深工程師了 回到問題... 如果將問題最簡單化: Form1的Button1按下後 要將Form2的ListBox1項目清空 大大會如何做?
本篇文章回覆於2019-01-29 23:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓 |
這個的話我就會直接作了
Form2.listbox1.items.clear ------------------------------- 還要再一些早 從 Dbase III 時代開始的 ------------------------------ 才會讓其他高手看見 <--意思是別的高手也會看見,會有不同的建議,我們才能會到眾人的精華
本篇文章回覆於2019-01-30 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
13樓
作者回應
city ![]() |
To:P陳
Dbase III...大大不小心透漏年紀了(誤) 科技業進步的太快了 範圍又廣 寫了幾十年的程式人員 應該也不敢說所有的東西都會... 不過大大是從Dos時期學過來的 基礎應該打得比較穩... 我猜想應該是各位前輩們都不會這樣寫 (將一行指令寫成函式) (例如:把Form2.Listbox1.items.clear寫成一個函式)(不管是量身訂做的寫法/或是由使用者輸入參數的寫法) 至少我在書上及網路上的範例都沒看過...
本篇文章回覆於2019-01-30 14:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |