这是建议鲁弗斯的建议的线程,但是我似乎无法称呼formtoshowonclosing,因为我只是收到无效的指针例外,我认为我是对的。第一种形式,QR
没有被读取?还是表单QR的方法无法读取?它没有丢下其他错误。
传奇:form a = qr,首先加载,然后隐藏。表单B =帐户,接下来是加载的,用户在其中选择数据库的标准。按下按钮,关闭帐户并显示QR,QR的方法在关闭时从帐户中触发,并加载数据库。
这是我到目前为止所拥有的,告诉我我似乎缺少的东西。
QR上暴露的属性:
public string BUName { get; set; }
public string DOCUName { get; set; }
在public void qr((
上 InitializeComponent();
this.Hide();
Account AccountForms = new Account();
AccountForms.FormToShowOnClose = this;
AccountForm.ShowDialog();
loadData(从帐户中加载标准为Refresher((准备,这是[表]的标准选择 *(:
public void LoadData()
{
txtBUnow.Text = BUName;
txtDOCUnow.Text = DOCUName;
if (BUName != "")
{
int BUtoQRConv = Convert.ToInt32(BUName);
theDictionary = new DictionaryInit();
DictionaryFindTable(BUtoQRConv, theDictionary.BUtoQRs);
Refresher();
}
}
帐户表格:
public static string passedBU;
public static string passedDOCU;
public QueryRefiner FormToShowOnClose { get; set; }
按钮按:
passedBU = lblBUitem.Text;
passedDOCU = lblDOCUitem.Text;
this.Close();
表格结束:
private void Account_FormClosing(object sender, FormClosingEventArgs e)
{
if (FormToShowOnClose != null)
{
Console.WriteLine(passedBU + "!");
FormToShowOnClose.BUName = passedBU;
FormToShowOnClose.DOCUName = passedDOCU;
FormToShowOnClose.LoadData();
FormToShowOnClose.Show();
}
}
正如所示,没有编译器错误,当运行时,IF语句似乎不会触发,并且在从IF语句中提取时,我确实在formtoshowonclose上击中了nullpointer异常。知道我在这里可能会缺少什么吗?据我所知,QR已经开始初始化,只是隐藏了。
将此代码移至加载QR表格的事件处理程序:
this.Hide();
Account AccountForms = new Account();
AccountForms.FormToShowOnClose = this;
AccountForm.ShowDialog();