我遇到了这个问题:
private void loadStringToolStripMenuItem_Click(object sender, EventArgs e)
{
StringLoader frmStringLoader = new StringLoader();
string test = frmStringLoader.Result;
frmStringLoader.ShowDialog();
MessageBox.Show(test.ToString());
}
StringLoader表格:
public partial class StringLoader : Form
{
private string result;
public StringLoader()
{
InitializeComponent();
}
public string Result
{
get { return result; }
}
private void btnLoadString_Click(object sender, EventArgs e)
{
if ((txtString.Text != string.Empty))
{
result = txtString.Text;
}
this.Close();
}
}
}
这件事给了我一个nullReferenceException(我知道)。
如何处理这件事?我只想打开一个表单,写一个文本并单击一个按钮将数据发送回调用者并关闭表单。
感谢。
答案 0 :(得分:2)
您在对话框打开前设置结果。尝试将两行代码反转为:
frmStringLoader.ShowDialog();
string test = frmStringLoader.Result;
答案 1 :(得分:1)
您在显示表单之前抓取结果!尝试
private void loadStringToolStripMenuItem_Click(object sender, EventArgs e)
{
StringLoader frmStringLoader = new StringLoader();
frmStringLoader.ShowDialog();
string test = frmStringLoader.Result;
MessageBox.Show(test.ToString());
}