2011-11-11 72 views
0

我隱藏了一個窗體,然後轉到不同的窗體,但我嘗試使用第一個窗體上計算的變量的值。是的,當我開始的時候,假設,第四種形式,我不能在form1上使用這些值,因爲它們變成了零。因爲我的函數總是使用這些值產生一個零點 請問可能出現什麼問題? 如果doesent似乎是這個問題我可以更詳細我的代碼,然後再解釋的問題 謝謝C#窗體保留值

+0

當您存儲這些值時,您是直接將它們存儲在表單操作中,還是使用某種類型的對象。 –

+0

爲什麼不應該將第一個表單的值存儲在'Session'.IS中,如果有問題,那麼就不要清除你的問題。 –

+0

您正在創建Form類的新實例,而不是使用現有的實例。如果您之前在Visual Basic中編程,那麼您可能會發現Application.OpenForms方便。 –

回答

4

由於Form是一類,你都呈現形式是該類的實例,因此,該數據是這種形式非常地方化。如果你正在顯示一個新的實例,那麼是的原始數據已經消失。

這個想法是使用公共方法或屬性從這些表單中獲取數據。

public class MyForm : Form 
{ 
    TextBox t = new TextBox(); 

    public string TBData 
    { 
     get { return t.Text; } 
    } 
} 

// outside: 
Form f = new MyForm(); 
f.Show() 

//f.TBData will get what is in the text box. 
+0

我創建的表單是公開的,我試圖在第三個表單上使用在第一個表單上創建的值,但它沒有工作 –

+0

@VaibhavAggarwal您是否具有將第一個表單傳遞給其他表單的參考,您應該可以通過公共屬性訪問這些值 – V4Vendetta

+0

我創建了相應表單的相應對象來調用其變量 –