"将当前窗体本身传给另一个窗体"怎么解释?

时间:2022-10-13 20:41:18
C#的windows应用程序:

有Form1和Form2

在Form2中这样定义:public Form1 form1;然后在Form2中调用Form1中的一个方法。

在Form1中:
Form2 form2=new Form2();
form2.form1=this;
form2.show();

问题是“form2.form1=this”,应该怎么理解呢?
有文档将“form2.form1=this”解释为“将当前窗体本身传给Form2窗体”,但我还是不理解,望网友指点。

5 个解决方案

#1


Form1和Form2是类型,
form1,form2是对象.

即是对象,那它在内存中就有会地址,对吧!


在Form2中这样定义:public Form1 form1; 
在Form1中:
Form2 form2=new Form2();
form2.form1=this;
form2.show();

这个作用就是把当前form1对象在内存地址中的引用复制Form2中的form1里面。
这样你在Form2中有了form1的地址,那么你就可以控件form1了。

form2.form1=this;

将当前对象在内存中的地址引用 复制到form2对象的form1变量中去。

简单点说就是:把本窗体传过去。

#2


这就是两个类,在一个类中给另一个类传值

#3


1.现在我想做一个抠图的软件工具,可以实现鼠标上的“另存为”功能,保存网站下下来的图片等。如果一个图片很大,还可以实现切图的功能。就是收入网址就可以保存上面的图片。
2.还有一个就是网页刷新的循环功能。
3.“查看源代码”,我想通过进入源代码可以搜到是否我想要的图片的名称,这个怎么可以进入切换到源代码哪个地方,并查找到我所想要的图片的名称。
   
最近做个项目,做的是代销,想做这么个软件,来随时查询东西是否有货。请各位朋友能帮帮忙。绝对高分酬谢。实现一个也行。能够告诉我点思路,兵一些代码的提示。

#4


面向对象
窗体也不过就是个 Object

#5


各位高手帮我回下帖,谢谢了,回帖给高分。

#1


Form1和Form2是类型,
form1,form2是对象.

即是对象,那它在内存中就有会地址,对吧!


在Form2中这样定义:public Form1 form1; 
在Form1中:
Form2 form2=new Form2();
form2.form1=this;
form2.show();

这个作用就是把当前form1对象在内存地址中的引用复制Form2中的form1里面。
这样你在Form2中有了form1的地址,那么你就可以控件form1了。

form2.form1=this;

将当前对象在内存中的地址引用 复制到form2对象的form1变量中去。

简单点说就是:把本窗体传过去。

#2


这就是两个类,在一个类中给另一个类传值

#3


1.现在我想做一个抠图的软件工具,可以实现鼠标上的“另存为”功能,保存网站下下来的图片等。如果一个图片很大,还可以实现切图的功能。就是收入网址就可以保存上面的图片。
2.还有一个就是网页刷新的循环功能。
3.“查看源代码”,我想通过进入源代码可以搜到是否我想要的图片的名称,这个怎么可以进入切换到源代码哪个地方,并查找到我所想要的图片的名称。
   
最近做个项目,做的是代销,想做这么个软件,来随时查询东西是否有货。请各位朋友能帮帮忙。绝对高分酬谢。实现一个也行。能够告诉我点思路,兵一些代码的提示。

#4


面向对象
窗体也不过就是个 Object

#5


各位高手帮我回下帖,谢谢了,回帖给高分。