2016-03-02 89 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