none
子物件看不到母物件上面的元件?! RRS feed

  • 問題

  • 各位前輩, 小弟有一問題請教, 謝謝。
    開發環境: Visual Studio 2010 - VB - Win Form

    我建立了一個物件(Class), 繼承自Panel, 並且在上面放置了一些元件, 諸如Button, Label....之類, 想用這個自訂物件當成模版(Base Class), 藉以開發其它功能不同的子物件。
    但是現在我無法在子物件的設計畫面(Design View)上看到母物件上面的元件, 也無法在子物件的Class name dropdownlist和Event dropdownlist找到母物件的元件, 如果要在子物件上撰寫Event function的話, 只能採用
    AddHandler ChildObject.ParentObject_Button.Click, AddressOf ChildObject_ButtonClick
    這樣的方式去Binding它的事件

    感覺很不方便咧, 而且如果要將這個母物件交給其它人開發子物件的話, 其它同事又怎麼知道母物件上到底有哪些元件?!

    請問有什麼方法能在子物件的設計畫面上看到母物件的元件, 或是能夠顯示在子物件的Class name dropdownlist上也可以, 謝謝。

    • 已移動 璉璉Moderator 2012年9月15日 上午 08:35 (從:Visual Studio一般討論區(General))
    2012年9月11日 上午 09:04

解答

  • (1) 你建立的東西叫做 "類別",  實體化之後才是 "物件"

    (2) 你的需求用 UserControl 範本來做比較簡單.

    (3) BrowsableAttribute 類別 這玩意對你應該有用


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 吉米王 2012年9月12日 上午 09:01
    2012年9月11日 上午 09:38
    版主
  • 1) 您所講的應該是類別, 不是物件. 編輯子類別時, 於Design View當然看不到父類別的上的元件, 因為那些東西不屬於子類別管理的範圍

    2) 您必須先寫一段程式碼, 例如:

       AddHandler ChildObject.

        就會看到包括父類別提供的事件的清單提示了

    • 已標示為解答 吉米王 2012年9月12日 上午 09:02
    2012年9月12日 上午 04:13

所有回覆

  • (1) 你建立的東西叫做 "類別",  實體化之後才是 "物件"

    (2) 你的需求用 UserControl 範本來做比較簡單.

    (3) BrowsableAttribute 類別 這玩意對你應該有用


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 吉米王 2012年9月12日 上午 09:01
    2012年9月11日 上午 09:38
    版主
  • 1) 您所講的應該是類別, 不是物件. 編輯子類別時, 於Design View當然看不到父類別的上的元件, 因為那些東西不屬於子類別管理的範圍

    2) 您必須先寫一段程式碼, 例如:

       AddHandler ChildObject.

        就會看到包括父類別提供的事件的清單提示了

    • 已標示為解答 吉米王 2012年9月12日 上午 09:02
    2012年9月12日 上午 04:13
  • Bill Chung, tihs兩位仁兄, 在這裡先謝過二位。

    抱歉抱歉, 我說錯了, 是『類別』, 不是物件。  ^+++++^
    其實我知道AddHandler可以在子類別的提示清單裡看到父類別的項目(又弄錯了, 原來一般都叫父類別, 不叫母類別), 我也知道用User Control比較合適, 這個嘛, 只是個人單純的不爽而已, 為什麼這樣做不行?! 為什麼在Design View看不到?! 是我不知道做法還是真的沒辦法?!

    再搞下去老闆可能會不爽, 先擱著唄, 有空再來研究。  @_@


    • 已編輯 吉米王 2012年9月12日 上午 09:00
    2012年9月12日 上午 09:00
  • 使用 .NET Framework 開發自訂的 Windows Form 控制項

    在設計階段開發 Windows Form 控制項

    這兩大章中, 幾十篇連結讀懂以後可能有機會.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年9月12日 下午 04:32
    版主