0

我有一个 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();
}

对我来说,将数据从数据库加载到此表单中工作正常,但是当我尝试从任何字段中获取任何值时,它们为空/空。我已经尝试使用this.StructForm1.txt1.Text但没有任何回报。我究竟做错了什么?我使用此表单声明来更轻松地处理表单并调用您的方法,但我不确定这是正确的方法。

[更新]

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

public void SaveEstimate() {...}

它又是空的。有任何想法吗?

4

2 回答 2

0

确保您调用的文本框txt1是公开的。

选择您的文本框,转到属性窗口,找到修饰符并将其设置为公共。

于 2013-09-05T13:41:17.093 回答
0

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

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;
于 2013-09-05T13:58:34.157 回答