我有一个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() {...}
它又是空的。有什么想法吗?
答案 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;