2013-09-23 47 views
4

我有一個應用程序使用第二種形式的文本框和按鈕,我需要將文本從文本框傳遞到第一種形式。我知道如何使用公共變量來做到這一點,但我想知道是否有另一種方式如何不使用公共變量 。有沒有辦法如何在vb.net中的表單之間傳遞值?沒有使用公共變量

+0

公共變量選項怎麼樣對您不適用?知道你想要避免什麼是有幫助的。 –

+0

這沒什麼意義,你當然不能用私有變量來做。我會在你實際談論一個* global *變量時投入一美元。是的,不要這樣做。如何正確使用對象引用在任何有關Winforms的入門書中都有介紹,請務必從當地的書店或圖書館中選擇一本。 –

回答

1

您可以使用第二種形式的公共屬性,讀/寫信息的其他形式。

您可以重載NEW方法以在聲明期間傳遞變量。

您可以在第二個表單上創建一個公共子/函數並傳遞變量byval或byref。

但是,我永遠不會使用公共變量。這是糟糕的編程。

+0

謝謝我愚蠢的不考慮公共職能,這工作得很好:D – Liewyec

2

是的!

如果形式是相同的解決方案的一部分,只要簡單的寫:

Dim MyVal1 As Integer = Form2.MyVal 

MyVal1任何形式的你寫的存在,並MyVal2來自窗體2。如果表單具有正確的隱私設置,則只能共享這些變量。

如果這兩種形式是單獨的應用程序的一部分,我知道傳遞變量的唯一方法是通過構造函數。

編輯:

在你的情況有一個文本框,您可以採取相似的解決方案:

Dim val As String = Form2.TextBox1.Text 
+0

如果使用私有變量,則不起作用。不過謝謝。 – Liewyec

+0

@Liewyec這是隱私的定義,如果變量是私人的,他們只能在他們聲明的範圍內訪問。根據定義,你所問的私有變量是不可能的。 – char1es

+0

正如Steve寫在它的posible下面,如果你使用公共職能,設置變量 – Liewyec

相關問題