2016-03-02 88 views
-1

我不能讓我的頭圍繞這可能簡單的任務,我有2種形式,我的主,一個「腳印」之一,在腳印,我有在裝載各種.txt文件的組合框,一旦我選擇一個組合框值,我試圖將值發送到表單1上的標籤主要的一個。傳遞價值,形成1

爲形式2的代碼:

private void btnUpdateFootprints_Click(object sender, System.EventArgs e) 
    { 
     if (File.Exists(@"LogicFiles\footprints.txt")) 
     { 
      // add footprints and add to .txt box 
      File.WriteAllText(@"LogicFiles\" + comboBoxUseFootprints.Text, txtBoxFootprints.Text); 
      FormMain.lblFootprintsUsed.Text = comboBoxUseFootprints.Text; 
      this.Hide(); 
     } 
    } 

這部分「lblFootprintsUsed.Text」是形式1中的標籤的名稱,在上述代碼在按鈕,一旦點擊它應該隱藏和更新標籤,我得到:

的對象引用需要非靜態字段,方法或屬性「FormMain.lblFootprintsUsed」

我嘗試了一些東西,但說實話,我從來沒有完全得到如何參考表單1而不創建新的表單實例。

感謝您的幫助球員

格雷厄姆

+0

您可以編輯您的問題,並在顯示方面Form1的代碼,以及您所使用和或定義'lblFoorPrintsUsed'如果這是一個Windows應用程序,其中,改變從私人到標籤的訪問級別公衆......很難知道沒有看到你正在查看的相同代碼.. – MethodMan

回答

0
FormMain.lblFootprintsUsed 

該代碼嘗試設置FormMain的靜態標籤。然而(糾正我,如果我錯了)你沒有這種形式的靜態方法。

我想FormMain是創建footpronts窗體的人。爲了實際更新主要形式的標籤從footpronts新值形成,則應該增加一個事件,並從主要形式訂閱。

http://www.codeproject.com/Tips/55555/Pass-value-between-forms-using-events