[英]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.