无法访问表单上的任何值

时间:2013-09-05 13:16:50

标签: c# winforms devexpress

我有一个C#Winforms应用程序,我正在使用主窗体来控制另一个:

public Rel_Entitys RelForm1;
public Struct_Inc StructForm1;
public DataLoad DataLoadForm1;
public Asset_Inc AssetForm1;
public Estimates_Inc EstimatesForm1;
public Options OptionsForm1;

private void Form1_Load(object sender, EventArgs e)
{
    RelForm1 = new Rel_Entitys();
    StructForm1 = new Struct_Inc();
    DataLoadForm1 = new DataLoad();
    AssetForm1 = new Asset_Inc();
    OptionsForm1 = new Options();
    EstimatesForm1 = new Estimates_Inc();
}

然后我以这种方式访问​​它们:

private void barButtonItem6_ItemClick(
                object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
    StructForm1.Show();
    this.Hide();
}

我可以将数据从数据库加载到此表单,但是当我尝试从任何字段获取任何值时,它们都为null / empty。我已经尝试使用this.StructForm1.txt1.Text但没有任何回报。我究竟做错了什么?我使用这个表单声明来更容易处理表单并调用您的方法,但我不确定这是正确的方法。

[更新]

我开始认为这与我的方法有关。如果为form_load上的字段设置一个值,然后从方法

中获取它
public void SaveEstimate() {...}

它又是空的。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

确保您拨打txt1的文本框是公开的。

选择文本框,转到属性窗口,找到修改器并将其设置为公共。

答案 1 :(得分:0)

看起来您正在创建多个表单实例。快速检查一下。将字段设为静态,然后查看这些字段是否仍为空(空)。

public static Rel_Entitys RelForm1;
public static Struct_Inc StructForm1;
public static DataLoad DataLoadForm1;
public static Asset_Inc AssetForm1;
public static Estimates_Inc EstimatesForm1;
public static Options OptionsForm1;