winform中 未将对象引用设置到对象的实例。

maxch1225 2010-01-11 11:57:55
同志们!问一个低级问题!!
未将对象引用设置到对象的实例。
我有A:Form 和B:Form
在B中A a = new A();
然后在B窗体中a.A中的方法!!虽然可以访问!!但是里面的操作都提示
"未将对象引用设置到对象的实例"!!请问怎么解决啊!?
比如a.GetId()
public void GetId()
{
this.timer1.Enabled = true;//未将对象引用设置到对象的实例
//其他的控件也变成这样了!
}

请问是怎么回事啊!?
...全文
968 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xray2005 2010-01-11
  • 打赏
  • 举报
回复

this.timer1是 在Form1里面定义的吗 ?
maxch1225 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
传递A对象到B窗体    基本是这样的啊?
还有是否设置public //这里我以设置好了!
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
public void GetId()
{
this.timer1.Enabled = true;//报"未将对象引用设置到对象的实例"
//我想问问为什么会出现这样的情况!
//对其他控件的操作也是这样的@
}
}

public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
//我不是想单纯的给Form1中的控件赋值!
//我想在此执行以下Form1中的GetId()
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}

[/Quote]
WTPMCheng 2010-01-11
  • 打赏
  • 举报
回复
帮顶!我有时候会遇到类似的问题,可是仔细调试下应该会知道是什么问题的。
希望能得到准确的答案!关注中。。。。。
江南小鱼 2010-01-11
  • 打赏
  • 举报
回复
未将对象引用设置到对象的实例,无外乎这几种情况。设断点,单步调试。

System.NullReferenceException: 未将对象引用设置到对象的实例
1、ViewState对象为Null。
2、DataSet为空。
3、sql语句或Database的原因导致DataReader没有读取到数据。
4、声明字符串变量时未赋空值就应用变量。
5、一些对象未用new关键字初始化。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、重复定义造成未将对象引用设置到对象的实例错误.
wuyq11 2010-01-11
  • 打赏
  • 举报
回复
传递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();
}
}
苏飞论坛 2010-01-11
  • 打赏
  • 举报
回复
A:Form 和B:Form

在B中A a =null;
在调出B的时候这样写
B b=new B();
b.a=this;
b.show();

这个时候再用就可以了,你没有把对象统一起来
大黄鸭在发光 2010-01-11
  • 打赏
  • 举报
回复
a.A中的方法中的变量要设成public,或者在构造函数里赋值
LoveLife_Go 2010-01-11
  • 打赏
  • 举报
回复
这样写是可以的
看看其他的代码吧
maxch1225 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 b273765159 的回复:]
看不懂诶
[/Quote]
b273765159 2010-01-11
  • 打赏
  • 举报
回复
看不懂诶
maxch1225 2010-01-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xray2005 的回复:]
this.timer1是 在Form1里面定义的吗 ?
[/Quote]
有的!而且此方法在Form1中执行时没有问题的!
[Quote=引用 9 楼 cljlove 的回复:]
控件 timer 要设置成public

你搜索一下timer 然后改成public就可以le·····
[/Quote]
谢谢!我试试!
打转的风铃 2010-01-11
  • 打赏
  • 举报
回复
控件 timer 要设置成public

你搜索一下timer 然后改成public就可以le·····

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧