C#如何调用不同窗体中的事件? 两个窗体,每个窗体上都有一个按纽,如何在Form1里面调用Form2里面的那个按纽的事件?我现在是要重新打印发货单的,可是我不想在显示发货窗口,而是直接按重新打印,他就可以自动调用发货窗口里面的打印事件,来打印发货单了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题是那个窗口有没有创建过?如果有只是隐藏了。from2.public方法。就可。 想办法抓到Form的引用, 然后找到Button。直接找到Button的引用也可以。然后:用Button的PerformClick方法。不要试图直接弄事件。 会把你绕晕的。 就键了2个窗口,有啊,from2.public没有啊,请问下如何设置? 把事件的方法定义成委托,在Form2初始化时传过去,然后在Form1中调用该委托From2MethodHandler fmh=form2的按钮事件方法; 把fmh传入form1用时触发fmh; 就键了2个窗口,有啊,from2.public没有啊,请问下如何设置?=======>这是你的一个自定义的公共的打印的方法。 委托事件是一种回调通知机制,而lz是需要调用,不要弄晕了lz.form2中public void PrintMethod(){ 控件打印。}form1 中from2.PrintMethod() 如果form2不是由form打开的,他们都是由应用程序或父窗口打开的。可以设form2设为全局,可给form1设一个form2的变量,打开的时候就传过去。 把你要打印的方法放在Form2里的public方法里,Form1直接掉用public方法就行 委托肯定也可以,我也不会 form1:{Form2 form2=... //根据你的需要把Form2 的实例传送给form2form2.button1.Click += new System.EventHandler(this.form2button1);public void form2button1(object sender, EventArges e) {...//响应form2的按钮事件 }} 首先:form2不是由form打开的,其次:可以设form2设为全局,可给form1设一个form2的变量,打开的时候就传过去。---这句看不懂 首先在Form2中公开一个方法:public void PrintMethod(){ //把你button中的代码,复制写在这个里面}private void form2_button1(object sender, EventArges e) { PrintMethod(); } Form2 不是Form1打开的?Form1中这么写: Form2 f = Application.OpenForms["Form2"] as Form2; if(f != null) { f.PrintMethod(); } c#提取详细页地址 关于showModalDialog窗体的问题,急啊~~~~~~~~ 修改URL外面的值 请教一个水晶报表的问题 语法问题help 我想问一个DataGrid问题? 我用socket传送数据,想要数据安全,如何解决?加密? 求个在线视频点播系统源码能运行的 散分问题,50分 [总结与提问]关于Crystal Report连接动态生成的dataset的方法的总结和一些新问题(谢谢cancan) 方法的变化性参数的写法 关于winform的动态生成
直接找到Button的引用也可以。然后:
用Button的PerformClick方法。不要试图直接弄事件。 会把你绕晕的。
把fmh传入form1用时触发fmh;
=======>
这是你的一个自定义的公共的打印的方法。
form2中public void PrintMethod()
{
控件打印。
}form1 中from2.PrintMethod()
Form2 form2=... //根据你的需要把Form2 的实例传送给form2form2.button1.Click += new System.EventHandler(this.form2button1);public void form2button1(object sender, EventArges e)
{
...
//响应form2的按钮事件
}}
其次:可以设form2设为全局,可给form1设一个form2的变量,打开的时候就传过去。---这句看不懂
{
//把你button中的代码,复制写在这个里面
}private void form2_button1(object sender, EventArges e)
{
PrintMethod();
}
Form2 不是Form1打开的?
Form1中这么写:
Form2 f = Application.OpenForms["Form2"] as Form2;
if(f != null)
{
f.PrintMethod();
}