我正在製作自定義控件,並且它具有控件中可用的NumberOfDatabases的屬性。默認情況下,存在一個名爲PrimaryDatabase的組合框,並且如果NumberOfDatabases設置爲1到2,則會創建另一個組合框並將其置於現有組合框的下方。看起來創建此ComboBox的代碼在設計器中運行,然後在運行時再次運行。在處理這種動態創建的對象時,是否必須在設計器中和運行時再創建對象?當我切換我的NumberOfDatabases屬性時,設計器如何處理動態創建對象?任何洞察力將不勝感激。VB.Net設計人員如何在運行時處理動態創建的對象
回答
他們只是在運行時出現和行爲。設計師完全沒有意識到它們,因爲它沒有被要求創建它們。所以你不能選擇它們,也不能設置它們的屬性。它們不會被序列化到usercontrol的InitializeComponent()方法中。無法用鼠標或鍵盤操作它們,設計師會攔截它。所以你只是看到它們。所見即所得是Winforms設計師的一個強大目標。
這是實際上的機率是正確的。通常有一些dbase代碼運行良好,它正常運行的可能性從來都不好,因爲你沒有正確的配置。在設計階段的例外是非常討厭的,可以摧毀設計,使程序員不知道的東西消失。因人而異。
在代碼中使用DesignMode property可防止在設計時運行有風險的代碼。
謝謝你的迴應。我實際上遇到的問題是每個數據庫的UseDefaultPath屬性。如果UseDefaultPath屬性設置爲false,我想動態創建一個文本框,用戶可以在要創建的MDF/NDF的路徑中輸入該文本框。代碼規定文本框將在PrimaryDatabase下創建,並且動態創建的輔助數據庫的標籤\ combobox將在新添加的文本框下向下移動。一切工作正常,如果我添加第二個組合框下的文本框,但如果我創建第二個組合框,然後 – cjw
然後添加文本框,然後轉移它下面的第二個組合框,我越來越奇怪的結果在設計器中雖然它在運行時正確運行) – cjw
嗯,那正是我警告過你的,不是嗎?使用DesignMode屬性。 –
- 1. 在vb.net中動態創建對象的事件處理
- 2. 如何在運行時修改動態創建的UserControl對象
- 3. 如何在運行時創建對象?
- 4. 如何處理MFC中動態創建的對象的事件?
- 5. 在c運行時處理鼠標事件創建對象#
- 6. 動態組織人員的域對象設計
- 7. 如何在執行對象列表時處理動態分配?
- 8. 在C++運行時動態創建類對象
- 9. 創建對象運行時
- 10. 如何在C#中的運行時動態創建和命名對象?
- 11. 處理動態(運行時)控件的事件 - VB.NET
- 12. 如何在運行時創建對象並移動它們?
- 13. 如何處理動態創建的UIButtons
- 14. 動態創建運行時從基類繼承的對象
- 15. 如何設計運行時模式上的依賴對象創建?
- 16. 在運行時動態創建和設置類的成員/屬性
- 17. 動態運行時對象創建:保持智能感知?
- 18. 如何動態處理java對象?
- 19. 在運行時將成員添加到動態對象
- 20. 如何處理在運行時創建的Windows窗體控件?
- 21. 設計 - 我如何在持久對象改變狀態時處理事件?
- 22. 在java中,如何在動態創建時處理線程
- 23. 在運行時創建對象
- 24. 在運行時創建對象
- 25. OpenGL ES在運行時創建對象
- 26. 在運行時創建對象
- 27. 如何在運行時(動態)創建PHP靜態類屬性?
- 28. 如何在處理對象後創建對象?
- 29. 在運行時動態創建WPF ItemTemplate
- 30. 在運行時動態創建表格
如果你看看錶單設計器代碼,你會發現它和你在運行時添加控件的代碼非常相似。 VS會運行設計器代碼以呈現呈現的表單...(其中包括您的UserControl)。 – Plutonix