C# 窗体之间调用方法问题??

wisdomjh 2012-07-03 05:35:25
现在有 From1 From2 我在From2中 From1 F = new From1(); 然后F.Close();
没有反应 这是为什么?(没有父子关系)
还有如果我要From1中使用Fron2的控件该怎么?
...全文
265 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2012-07-07
  • 打赏
  • 举报
回复
哎,发现很多人对对象的概念都不懂
类的概念更是不清楚
上来就乱写代码
这个社会是怎么了?
luochaowei1987 2012-07-07
  • 打赏
  • 举报
回复
楼主你去看看事件委托吧,这个用事件才是主流,其它的都是歪的
c2606050113 2012-07-05
  • 打赏
  • 举报
回复
调用方法及属性传递当然是好的了,估计楼主都不会用

[Quote=引用 10 楼 的回复:]

Form1访问Form2的控件
建议是用方法
将控件public出来的方式最好不要

Form2关闭Form1
foreach (Form f in Application.OpenForms)
if (f Is Form1)
f.Close();
[/Quote]
c2606050113 2012-07-04
  • 打赏
  • 举报
回复
Form1中使用Form2的控件
首先设置Form2中要使用的控件的Modifiers的属性为public
然后在Form1代码中添加
Form2 f=new Form2():
f.控件名//可以进行自己的操作

[Quote=引用楼主 的回复:]
现在有 From1 From2 我在From2中 From1 F = new From1(); 然后F.Close();
没有反应 这是为什么?(没有父子关系)
还有如果我要From1中使用Fron2的控件该怎么?
[/Quote]
Sam830131 2012-07-04
  • 打赏
  • 举报
回复
得先检查父窗体是否已打开着啊,打开着就show出来

没有打开的时候才会去new。
观光客 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:

你实例化了一个窗体对象,你掉用了窗体的一个方法,你想得到什么效果呢
From1 F = new From1(); F.Show();//显示窗体

你可以设置Form1的属性,然后在form2中改变该属性从而达到传值的目的

From1 是主窗体 我先在From1上显示了From2 然后在From2里面 From1 F = new From1(); 然后再F……
[/Quote]
这样做你就是又新实例化了一个窗口,跟原来的主窗体完全没有关系,所以没效果
cry222222 2012-07-04
  • 打赏
  • 举报
回复
LZ的意思难道是想刷新父窗体????
阿冷 2012-07-04
  • 打赏
  • 举报
回复
呵呵。你这属于对话框似的操作,子窗体,不关闭的情况下,父窗体操作不了啊,你直接手动关闭的话,也是不可以的吧。
KGallery 2012-07-04
  • 打赏
  • 举报
回复
Form1访问Form2的控件
建议是用方法
将控件public出来的方式最好不要

Form2关闭Form1
foreach (Form f in Application.OpenForms)
if (f Is Form1)
f.Close();
xiaoyao1212121 2012-07-03
  • 打赏
  • 举报
回复
还是想操作父窗体。。。把父窗体关掉???如果是你这个From1是主窗体....那么你只能先把 this.hide();
先隐藏起来,等到From2关闭的时候再this.owner.close();
xiaoyao1212121 2012-07-03
  • 打赏
  • 举报
回复
你的意思是不是 你在 From1 里 new了一个From2, 然后From2里又new了一个From1名字为F, 那你要先F.show();
然后再F.close();才会有反应的!
wisdomjh 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你实例化了一个窗体对象,你掉用了窗体的一个方法,你想得到什么效果呢
From1 F = new From1(); F.Show();//显示窗体

你可以设置Form1的属性,然后在form2中改变该属性从而达到传值的目的
[/Quote]
From1 是主窗体 我先在From1上显示了From2 然后在From2里面 From1 F = new From1(); 然后再From2事件中写了 F.close(); 没有反应....
  • 打赏
  • 举报
回复
你实例化了一个窗体对象,你掉用了窗体的一个方法,你想得到什么效果呢
From1 F = new From1(); F.Show();//显示窗体

你可以设置Form1的属性,然后在form2中改变该属性从而达到传值的目的

110,533

社区成员

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

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

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