2013-07-19 30 views
3

是否有一種方法(在VB6中)在窗體中封裝控件,以便窗體的使用者無法修改該窗體上控件的屬性?窗體控件封裝

例如,如果我有這樣一個叫Command1按鈕,我該如何防止消費者(的Form1)命名Form1形式:

Form1.Command1.Enable = True 

我寧願要公開的方法類似EnableCommand(),讓方法決定是否有效操作來啓用該命令。

大多數其他語言窗體上的控件默認爲私有,如何在VB6中控制Private

+1

+1因爲我不明白爲什麼這個問題是downvoted。 – MarkJ

回答

3

不,沒有簡單的方法。在VB.Net中,您可以在窗體設計器中設置控件的訪問修飾符,但不能在VB6中實現。

在一個大的應用程序中,您可以將邏輯細分爲獨立的組件(通常是DLL)。然後,其他組件根本無法訪問表單,包括其控件。

+1

另一種方法是將按鈕放在一個usercontrol上並定義你自己的一組屬性。 –

+1

更加討厭這種該死的語言的原因。儘管感謝您的回覆。 –

+0

@LukeWage但用戶控制它自己沒有被封裝在表單中,所以消費者可以用控件移動/隱藏/ [做任何他們喜歡的事情] ... –