未将对象引用设置到对象的实例。
我有A:Form 和B:Form
在B中A a = new A();
然后在B窗体中a.A中的方法!!虽然可以访问!!但是里面的操作都提示
"未将对象引用设置到对象的实例"!!请问怎么解决啊!?
比如a.GetId()
public void GetId()
{
this.timer1.Enabled = true;//未将对象引用设置到对象的实例
//其他的控件也变成这样了!
}
请问是怎么回事啊!?
12 个解决方案
#1
这样写是可以的
看看其他的代码吧
看看其他的代码吧
#2
a.A中的方法中的变量要设成public,或者在构造函数里赋值
#3
A:Form 和B:Form
在B中A a =null;
在调出B的时候这样写
B b=new B();
b.a=this;
b.show();
这个时候再用就可以了,你没有把对象统一起来
在B中A a =null;
在调出B的时候这样写
B b=new B();
b.a=this;
b.show();
这个时候再用就可以了,你没有把对象统一起来
#4
传递A对象到B窗体
还有是否设置public
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
}
public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
还有是否设置public
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
}
public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
#5
未将对象引用设置到对象的实例,无外乎这几种情况。设断点,单步调试。
System.NullReferenceException: 未将对象引用设置到对象的实例
1、ViewState对象为Null。
2、DataSet为空。
3、sql语句或Database的原因导致DataReader没有读取到数据。
4、声明字符串变量时未赋空值就应用变量。
5、一些对象未用new关键字初始化。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、重复定义造成未将对象引用设置到对象的实例错误.
System.NullReferenceException: 未将对象引用设置到对象的实例
1、ViewState对象为Null。
2、DataSet为空。
3、sql语句或Database的原因导致DataReader没有读取到数据。
4、声明字符串变量时未赋空值就应用变量。
5、一些对象未用new关键字初始化。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、重复定义造成未将对象引用设置到对象的实例错误.
#6
帮顶!我有时候会遇到类似的问题,可是仔细调试下应该会知道是什么问题的。
希望能得到准确的答案!关注中。。。。。
希望能得到准确的答案!关注中。。。。。
#7
#8
this.timer1是 在Form1里面定义的吗 ?
#9
控件 timer 要设置成public
你搜索一下timer 然后改成public就可以le·····
你搜索一下timer 然后改成public就可以le·····
#10
有的!而且此方法在Form1中执行时没有问题的!
谢谢!我试试!
#11
看不懂诶
#12
#1
这样写是可以的
看看其他的代码吧
看看其他的代码吧
#2
a.A中的方法中的变量要设成public,或者在构造函数里赋值
#3
A:Form 和B:Form
在B中A a =null;
在调出B的时候这样写
B b=new B();
b.a=this;
b.show();
这个时候再用就可以了,你没有把对象统一起来
在B中A a =null;
在调出B的时候这样写
B b=new B();
b.a=this;
b.show();
这个时候再用就可以了,你没有把对象统一起来
#4
传递A对象到B窗体
还有是否设置public
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
}
public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
还有是否设置public
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
}
public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
#5
未将对象引用设置到对象的实例,无外乎这几种情况。设断点,单步调试。
System.NullReferenceException: 未将对象引用设置到对象的实例
1、ViewState对象为Null。
2、DataSet为空。
3、sql语句或Database的原因导致DataReader没有读取到数据。
4、声明字符串变量时未赋空值就应用变量。
5、一些对象未用new关键字初始化。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、重复定义造成未将对象引用设置到对象的实例错误.
System.NullReferenceException: 未将对象引用设置到对象的实例
1、ViewState对象为Null。
2、DataSet为空。
3、sql语句或Database的原因导致DataReader没有读取到数据。
4、声明字符串变量时未赋空值就应用变量。
5、一些对象未用new关键字初始化。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、重复定义造成未将对象引用设置到对象的实例错误.
#6
帮顶!我有时候会遇到类似的问题,可是仔细调试下应该会知道是什么问题的。
希望能得到准确的答案!关注中。。。。。
希望能得到准确的答案!关注中。。。。。
#7
#8
this.timer1是 在Form1里面定义的吗 ?
#9
控件 timer 要设置成public
你搜索一下timer 然后改成public就可以le·····
你搜索一下timer 然后改成public就可以le·····
#10
有的!而且此方法在Form1中执行时没有问题的!
谢谢!我试试!
#11
看不懂诶