【Winform】2个Form之间的状态栏传值

nikolaichow 2012-10-25 08:33:51
Form1 与Form2不是主子窗体,也就是在Form1中并没有执行Form2 f=new Form2(),Form2中也一样,请问,Form2如何能更改Form1的状态栏?
...全文
205 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nikolaichow 2012-11-12
  • 打赏
  • 举报
回复
没好答案,结贴
nikolaichow 2012-11-08
  • 打赏
  • 举报
回复
顶下,等来人
引用 8 楼 wanghui0380 的回复:
额,如果双方都不认识,那么你能做的就是先介绍他们认识。或者让他们同时到某个中介去登记 ============================================================== 我可以使用共享内存、静态变量,但是当静态值变化时要自动更新状态栏的text,如何自动更新? 静态变量无法主动去更改当前实例,静态变量脱离与类实例,除……
wanghui0380 2012-10-26
  • 打赏
  • 举报
回复
实际你需要做一个第3方全局委托

form1 在 onshow以前把自己注册到这个多播委托里面 ,而在close以前则从注册里删掉自己

form2 则不管form1 怎么样,他直接去看 那个全局委托是不是null,不是null就调用这个多播委托。

这就像我现在没事在家休息,我就去51job刷新我的信息,告诉企业我在找工作
而企业不是直接找我,而是去51job看又没有合适的人。

如果我 或者 企业完成自己的目标了,他则会把信息标注为过期,自然也就没人关注过期的信息了
nikolaichow 2012-10-26
  • 打赏
  • 举报
回复
能给个事例吗?
[Quote=引用 9 楼 的回复:]

实际你需要做一个第3方全局委托

form1 在 onshow以前把自己注册到这个多播委托里面 ,而在close以前则从注册里删掉自己

form2 则不管form1 怎么样,他直接去看 那个全局委托是不是null,不是null就调用这个多播委托。

这就像我现在没事在家休息,我就去51job刷新我的信息,告诉企业我在找工作
而企业不是直接找我,而是去51job看又没有合适的人。
……
[/Quote]
wanghui0380 2012-10-25
  • 打赏
  • 举报
回复
额,如果双方都不认识,那么你能做的就是先介绍他们认识。或者让他们同时到某个中介去登记

==============================================================
我可以使用共享内存、静态变量,但是当静态值变化时要自动更新状态栏的text,如何自动更新?

静态变量无法主动去更改当前实例,静态变量脱离与类实例,除非你有一个静态的当前对象的实例列表,然后从列表里修改实例里面的属性设置
nikolaichow 2012-10-25
  • 打赏
  • 举报
回复
我可以使用共享内存、静态变量,但是当静态值变化时要自动更新状态栏的text,如何自动更新?
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

在Form1中创建一个静态变量(public static xx),然后在Form2中(Form1.xx.xx="") 就能更改Form1的状态了.


具体说下:在解决方案资源管理器中,点开窗体文件.cs,有两个文件,点开其中的Form1.D开头什么的,在里面找到你需要改变状态的控件,把它的访问修饰符(原来是private)改成public static……
[/Quote]
littleUFO2012 2012-10-25
  • 打赏
  • 举报
回复
用共享内存应该可以实现你的要求。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

在Form1中创建一个静态变量(public static xx),然后在Form2中(Form1.xx.xx="") 就能更改Form1的状态了.
[/Quote]

具体说下:在解决方案资源管理器中,点开窗体文件.cs,有两个文件,点开其中的Form1.D开头什么的,在里面找到你需要改变状态的控件,把它的访问修饰符(原来是private)改成public static xx,然后在Form2中 (Form1.控件.xx="");或者创建个静态方法调用,其实都一样 - -
  • 打赏
  • 举报
回复
在Form1中创建一个静态变量(public static xx),然后在Form2中(Form1.xx.xx="") 就能更改Form1的状态了.
mngzilin 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
Form1 与Form2不是主子窗体,也就是在Form1中并没有执行Form2 f=new Form2(),Form2中也一样,请问,Form2如何能更改Form1的状态栏?
[/Quote]

Form1和Form2看来都是子窗体了????
nikolaichow 2012-10-25
  • 打赏
  • 举报
回复
Form2中有个方法需要改变Form1中的状态栏值
[Quote=引用 1 楼 的回复:]

你的判断条件是什么,要使两个Form的状态栏值改变...
[/Quote]
IT-Style 2012-10-25
  • 打赏
  • 举报
回复
你的判断条件是什么,要使两个Form的状态栏值改变...

110,536

社区成员

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

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

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