将值传递给第二个窗体并且从第二个窗体传递值时的Wierd行为。在窗体之间传递值(winforms)
ParameterForm pf = new ParameterForm(testString);
工作
ParameterForm pf = new ParameterForm();
pf.testString="test";
没有(定义为公共字符串的TestString)
也许我失去了一些东西?无论如何,我想让第二个变体正常工作,就像现在一样 - 它返回空对象引用错误。
感谢您的帮助。
发布更多的代码在这里:
调用
Button ParametersButton = new Button();
ParametersButton.Click += delegate
{
ParameterForm pf = new ParameterForm(doc.GetElementById(ParametersButton.Tag.ToString()));
pf.ShowDialog(this);
pf.test = "test";
pf.Submit += new ParameterForm.ParameterSubmitResult(pf_Submit);
};
定义和使用
public partial class ParameterForm : Form
{
public string test;
public XmlElement node;
public delegate void ParameterSubmitResult(object sender, XmlElement e);
public event ParameterSubmitResult Submit;
public void SubmitButton_Click(object sender, EventArgs e)
{
Submit(this,this.node);
Debug.WriteLine(test);
}
}
结果: 提交 - 空对象引用 测试 - 空对象引用
我可以看到您使用的构造函数吗? – 2010-06-17 14:34:27
它是如何不工作,你什么时候得到空对象引用错误? – 2010-06-17 14:43:49