Winform 不同窗体间方法调用总结

方法一:(Form2调用Form1中的方法:被调用名称设置在被调用窗体)

1、先在主窗口中设置主窗体可被调用的名称,设置自己的名称的【S】。
这样在其它窗体中就可以使用【S】来调用主窗体的方法了。
public static Form1 s = null;
        public Form1()
        {
            InitializeComponent();
            s = this;//定义主窗体
        }

2、在主窗口编写可以被调用的方法,注意把属性设置为public。

public void SetForm1Value()
        {
            //需要实现功能的代码......
        }

3、比如需要在Form2窗体中的button1按钮调用Form1的SetForm1Value()方法,代码如下:

 private void button1_Click(object sender, EventArgs e)
        {                  
            Form1.s.SetForm1Value(); //调用Form1的方法           
        }

方法二:(Form2调用Form1中的方法:被调用名称设置Form2中)

1、Form2中代码:

        private Form1 F;//设置被调用名称
        public Form2(Form1 F)
        {
            InitializeComponent();
            this.F=F;
        }
       private void btn2_Click(object sender, EventArgs e)
        {               
              F.SetForm1Value();//调用Form1中的方法            
        }

2、Form1中代码:

public Form1()
        {
            InitializeComponent();
        }

private void btn1_Click(object sender, EventArgs e)
        {
             new Form2(this).Show(); //显示Form2窗体                    
        }
时间: 2024-10-12 21:23:35

Winform 不同窗体间方法调用总结的相关文章

WinForm多窗体间操作,ComboBox下拉菜单控件

1.通过操作一个窗体打开另一个窗体 已有窗体为Form1.Form1中有一个按钮,对该按钮编写点击事件: Form2 f2 = new Form2();f2.Show(); 通过这段代码来打开Form2. 在实际应用中会出现代开Form2后需要Form1隐藏的情况,此时可以加入代码:this.Hide();来实现隐藏Form1. [不能关闭Form1,如果关闭Form1,那么Form2也会关闭,因为Form1是主窗体] 2.在窗体之间进行值的传递 在某些情况下,需要用到某个已经获取到的值,为了提

委托:Winform实现窗体间的传值

软件界面如上所示:点击接收窗体实现打开发送窗体,发送窗体点击“发送”,即可发送到接收窗体,可以实现窗体间的传值. 接收窗体的主要代码: /// <summary> /// 打开发送窗体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOpen_Click(o

多窗体之间方法调用 z

C# Code: /// <summary> /// 主窗体接口 /// </summary> public interface IMdiParent{   void ParentFoo();} /// <summary> /// 子窗体接口 /// </summary> public interface IMyChildForm{   void Foo();} 主窗体的代码: C# Code: /// <summary> /// 主窗体,实现I

微服务间的调用和应用内调用的有啥区别

摘要 目前大部分的系统架构都是微服务架构,就算没有注册中心.服务管理,也肯定是多个服务,单体服务比较少了. 大家平时需要在应用内调用rpc接口也比较多,那么有没有思考过微服务之间的调用和应用内直接调用有什么区别呢?面试时是不是经常被被问到微服务呢,本篇文章针对微服务间的方法调用和应用内方法调用的有啥区别这个很小的点,谈谈我的经验 微服务调用特点 先从单体应用说起 单体应用 单体引用通过一个服务节点直接组装好数据,返回给调用者.所有的方法调用都发生在应用内部. 微服务应用 商品详情服务需要调用商品

WinForm窗体显示和窗体间传值[转载]

以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击“关

C# winform窗体间传值(使用委托或事件)

窗体间传值 今天得空,刚好看到网上好多人再找winform窗体间传值的问题,由于昨天项目的优化的感觉不错,就写了个C# winform窗体间传值的demo,希望能给需要的人的带来帮助: 工程的源代码地址:https://github.com/yes-or-no/WinFormTransValueDemoByDelOrEvent.git C#winform窗体间传值,三种方法示例,注释详细.使用方法:使用vs2013打开编译运行即可: 工程中总共介绍了三种方法:###方法1:通过保存对象的引用调用

[第一篇-转载]WinForm窗体显示和窗体间传值总结

[转自http://blog.csdn.net/dongdingbaihe/article/details/3701639] A.WinForm中窗体显示  显示窗体可以有以下2种方法:  Form.ShowDialog方法 (窗体显示为模式窗体)  Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下:  1.在调用Form.Show方法后,Show方法后面的代码会立即执行  2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码  3.当窗体显

C#窗体间传值方法总结

假设我们需要点击主窗体FMMain中的某一个按钮时打开子窗体FMChild并将某一个值传给子窗体FMChild,一般情况下,我们点击按钮显示子窗体FMChild的代码为: FMChild fmChild = new FMChild(); fmChild.ShowDialog(); fmChild.Dispose(); 如果我们需要将主窗体FMMain中的string strValueA的值传给FMChild,那么我们首先对strValueA进行如下处理: private string strVa

C# 窗体间传值方法大汇总

第一种方法:创建一个类,里面声明用于存储接收的字段.传的时候存储于字段中,要用的时候,直接类名.字段名 进行调用.(这种方法传递是双向的) 第二种方法:1.在Form1里定义 public string Name = "*****" 2. 在Form2里创建Form1对象, Form1 f = new Form1(); 然后就可以通过f.Name取值了 第三种方法:用构造函数在窗体Form2中 int value1; string value2; public Form2 ( int