社区
C#
帖子详情
在Form1中如何调用Form2的函数或事件?
mingjunr
2006-05-10 10:42:40
在Form1中有一个btnSave按钮,然后Form2中实现了public void SaveMe(){}函数,当Form1Load时创建了一个Form2实例,from2.show();
我怎么才能让Form1找到这个Form2并且执行SaveMe()函数.
Form1可以打开不同的窗口,子窗口都实现了SaveMe,
大侠这个怎么弄?用接口?怎么调用?谢谢大家
...全文
337
9
打赏
收藏
在Form1中如何调用Form2的函数或事件?
在Form1中有一个btnSave按钮,然后Form2中实现了public void SaveMe(){}函数,当Form1Load时创建了一个Form2实例,from2.show(); 我怎么才能让Form1找到这个Form2并且执行SaveMe()函数. Form1可以打开不同的窗口,子窗口都实现了SaveMe, 大侠这个怎么弄?用接口?怎么调用?谢谢大家
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mingjunr
2006-05-10
打赏
举报
回复
whisperLin() 的方法并不可取:
因为我不能把所有可能被打开的窗口类全写成变量放在父窗口类里,
只能在Load时根据类名打开这个类,而BtnSave时,找到这个类,然后执行SaveMe
mingjunr
2006-05-10
打赏
举报
回复
谢谢大家我挨个试试
火麒噬日
2006-05-10
打赏
举报
回复
你要找到Form2直接把它变成form1的一个属性或者用一个方法把引用存起来就ok了,上面就是form2是form1的一个属性
zoujiaming
2006-05-10
打赏
举报
回复
把类实例化,把form2的方法和事件做成public的就可以直接调用了
火麒噬日
2006-05-10
打赏
举报
回复
写了个例子,不过不知道你那个函数的安全性要求如何,也不知道C#有没有友元。
Form2 form2;
private void Form1_Load(object sender, System.EventArgs e)
{
form2 = new Form2();
form2.Show();
}
private void button1_Click(object sender, System.EventArgs e)
{
form2.ShowMsg();
}
form2。。。。。。
public void ShowMsg()
{
System.Windows.Forms.MessageBox.Show("!");
}
mo_yuan_ming
2006-05-10
打赏
举报
回复
首先让所有的子窗体都继承同一个窗体!
在父窗体写一个虚函数SaveMe,再子窗体中实现这个方法就可以!
在from1点击保存按钮的时候只需要调用当前活动窗体的SaveMe方法(这个窗体的类型可以自适应为父窗体类型可以找到SaveMe)就可以了!
kssys
2006-05-10
打赏
举报
回复
使用委托,通知各个窗口Form1的btnSave被按下了~
然后大家各做各的,该干嘛就干嘛
marvelstack
2006-05-10
打赏
举报
回复
可以参考这里的文章,
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx
火麒噬日
2006-05-10
打赏
举报
回复
动态表保存引用行不?
C# 实战项目——制作仿QQ软件
QQ 大家都用过,在现在这个互联网时代,越来越多的人使用 QQ 进行沟通交流,本章将使用 C# 制作一个仿 QQ 的聊天软件 —— Q 友。通过本课程学习,你将学到以下知识点:1、
Form
窗体关键属性、方法和
事件
的应用 2、如何触发窗体和控件的
事件
3、ListView控件和ImageList组件的结合使用 4、数据库及数据表的创建5、使用C#操作SQL Server数据库 6、Timer定时器组件的使用7、如何判断是否按下键 8、自定义最小化和关闭按钮同时将提供完整的项目开发流程,手把手的带你做完一个完整的项目。
Form
2 引用
Form
1
中
的
函数
在delphi 设计GUI的过程
中
,窗体通信是不可缺少的一部分。若想解决
Form
2
调用
Form
1
函数
;本文是通过如下步骤实现: 在
Form
1
中
建立公共
函数
,在var 下建立 procedure
form
2_
form
1(i:Integer); 在
函数
form
2_
form
1(i:Integer)
中
调用
Form
1组件时
Form
1.Edit1.text:='GHG'; 在
Form
2
中
implem...
在
form
2
中
调用
form
1
中
的方法并改变
form
1
中
控件值的另一种方法
在窗体编程
中
,经常碰到到要在
form
2
中
调用
form
1
中
的方法并改变
form
1
中
控件值,但是又不能用new
form
1这种方法,因为这是生成一个实例。 网上有些说法是用委托和
事件
,笔者尝试没有成功,可能是功力不够,但笔者用另一种方法实现 了同样的效果。 首先,重载
form
2的构造
函数
,在
form
1
调用
form
2的时候将
form
1本身作为参数传入
form
2,这时,
form
2作为一个引用传到了fo
C#使用委托实现在
Form
2
中
调用
Form
1
中
的控件
定义一个委托,在
Form
1
中
使用该委托声明一个静态委托变量,然后将
Form
1
中
某个使用控件的方法赋予给这个委托变量(建议最好是在
Form
1的构造
函数
中
或者
Form
1加载
事件
中
给该委托变量赋值,至少在
Form
2
调用
该委托之前加载即可),然后就可以在
Form
2
中
使用
Form
1.委托变量() 使用。 具体操作截屏:
Form
1:
Form
2: 效果: ...
Form
1
调用
Form
2的对象及方法
public partial class
Form
1 :
Form
{
Form
2 f2 = new
Form
2(); f2.方法 f2.对象 private void button1_Click(object sender, EventArgs e) {
Form
2 f2 = new
Form
2(this); f2.Show(); } }
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章