簡體   English   中英

從類中的窗體進行訪問控制

[英]Access control from Form in Class

我是目標編程的新手,剛剛開始學習,所以對於大多數人來說,我的問題可能很愚蠢,但是,我真的不知道如何實現我所需要的。

我有帶有控件的Form1- combobox_kraje ,用戶選擇國家/地區並click button ,這是按鈕代碼

在此處輸入圖片說明

在這里, Messagebox.Show(combobox_kraje.text)向我展示了此控件的正確值。

現在我想在我的課堂上訪問combobox_kraje

在此處輸入圖片說明

在這里, Messagebox.Show(form.combobox_kraje.text)向我顯示了不正確的值(空的MessageBox)。

您能否解釋一下我如何在課堂上訪問該表單控件?

公開設置某種東西以使其能夠在外部訪問並不是一個好主意,至少在這里,有一種更好的方法可以做到這一點。 只需將一個屬性添加到您的窗體,該屬性返回combonboxes的文本值:

public class MyForm : Form
{
    public string TheMessageText { return this.combobox_kraje.Text; }
}

現在通過form.TheMessageText訪問它。 這樣,您可以將實際控件保留為private而僅將相關的部分提供給外部,而不是整個控件。

您正在使用form (由new Form1()初始化),但未顯示該實例。

您應該將顯示的實例傳遞給類,然后將其分配給form

public MyClass(Form1 form1)
{
    this.form = form1;
}

同樣,如@HimBromBeere所述,您應該添加屬性以公開其自身的文本,而不是使用公共控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM