C# 中,我要在B窗体去调用A窗体的控件。出现问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 03:53:22
比如说,当前窗体时 A窗体。A窗体里面有一个listview控件。我现在单击button 跳转到 B窗体,然后我要在B窗体去访问listview的tag 值

我写的代码是这样的。我在A窗体button 事件里面 B b=new B(); 然后再 B窗体里面有一个public A a;
那么我再button事件里面写 b.a=this;

在A 窗体的listview也设置成为public 了。。

为什么当我在B窗体 调用A窗体的listview.tag时候就显示 未将对象引用设置到对象的事例。。

我是通过在B窗体里面设置的public A a; 的a.listView.tag来访问的。

感觉没有什么问题。请高手赐教。。。。。。。。。。

按理说你的方案是没问题的,我也试了,也没做出来,不过我用的别的方法,你把B中的构造函数改了,传进去一个listview,也就是把A中的listview传给他,我试了,可行

建议贴部分代码:1、创建和显示B的地方; 2、调用listview.tag的地方

在B里这么写: (this.Parent as A).listView.tag

这样吧
FormA窗体中
button_click()
{
FormB b=new (this);
b.show();
}
FormB中
FormA a;
构造函数
public FormB(FormA a)
{
this.a=a;
}
a.listview.tag

public A a; 的a.listView.tag来访问的。这样显然有问题的,出现未将对象设置到实例,你这a new了吗;你这样public A a=new A();
就不会出现这个问题了,你想下为什么?
当然这样是达不到你要的目的的。你可以通过楼上小有名气的方法达到你的目的,但是不介意你用,可以用更方便的
在A窗口
B b=new B();
b.owner=this;
b窗口
b.owner.listView.tag 就是a.listView.tag
仔细体会下类和对象吧