Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从一个子窗体填充到另一个子窗体_C#_Mdi - Fatal编程技术网

C# 从一个子窗体填充到另一个子窗体

C# 从一个子窗体填充到另一个子窗体,c#,mdi,C#,Mdi,在我的项目中,我有一个mdi容器mdiMother,其中有两个childform(mdiChild1和mdiChild2)。mdiChild1有一个listview(模式视图详细信息)。mdiChild2有一个按钮,其目标是在mdiChild1中填充listview 我做了一些和平的代码。我将此代码复制到mdiChild1,创建一个按钮,尝试一下,它就可以工作了(意思是:我看到listview填充) 我的问题: 当我在mdiChild2中按下按钮时,我的列表视图中的代码与mdiChild1中的代

在我的项目中,我有一个mdi容器
mdiMother
,其中有两个
childform
(mdiChild1和mdiChild2)。
mdiChild1
有一个
listview
(模式视图详细信息)。
mdiChild2
有一个按钮,其目标是在
mdiChild1
中填充
listview

我做了一些和平的代码。我将此代码复制到
mdiChild1
,创建一个按钮,尝试一下,它就可以工作了(意思是:我看到
listview
填充)

我的问题:

当我在
mdiChild2
中按下按钮时,我的
列表视图中的
代码与
mdiChild1
中的代码不相同。您必须从
mdichild
控制子控件

从每个
mdiChild
创建
static
实例,然后当您要从每个
mdiChild
实例调用方法时,必须从这些
static
实例中使用

像这样:

public class mdiMother{
    public static mdiChild1 ch1;
    public static mdiChild2 ch2;

    public mdiMother(){
       ch1 = new mdiChild1();
       ch2 = new mdiChild2();
    }
}

public class mdiChild1{
    public void Do(){
       // fill list
    }
}

public class mdiChild2{
    public void CallMdiChild1(){
       mdiMother.ch1.Do();
    }
}

谢谢大家。我解决了我的问题,我发现这太愚蠢了。这样它就没有填充:不要提到好的形式。为了完成此工作,我对活动mdi子项进行了引用。。。这就是工作:)


谢谢你的帮助。。。还有很多要感谢艾哈迈德,他给了我找到解决问题的好方法:p

在任何人都能帮助你之前,你需要添加有效和无效的代码。请向我们展示你的代码。您实际上是如何填充
列表视图的?您是如何从
mdiChild2
访问
mdiChild1
中的
ListView
控件的?@odyss jii看看那里@QuintonBernhardt看看那里好的,我明白了。所以我没有做的事情是:没有向MDI母亲声明静态。我只是声明静态实例并使用它。我的问题还是一样。代码的一些和平:public void addItemToDownload(string item){ListViewItem onteem=new ListViewItem(item);onteem.SubItems.Add(“en attentite”);listDownload.Items.AddRange(new ListViewItem[]{Iteem});}是我调用的代码,用于填充listview。。。我在这个表单中添加了一个buton,这个方法是有效的。当我从mdiChild2通过MDIMather的静态实例调用它时。。。不要工作。。。怎么了?或者我可以从mdiChild1=newMDIChild1()调用mdiChild1;mdChild1.MdiParent=此;mdChild1.Show();您不能在任何地方创建mdiChilds的新实例。如果这样做,则在填充listview中会出现问题。共享代码以解决此问题。此页中不存在任何内容