c# winform 窗体之间的传参

说起winform程序中窗体之间的参数互传,大家找度娘会找到很多方法:

  1、在窗体类中创建全局变量,类型为公开、静态的;

  2、在窗体类中定义狗仔函数;

  3、通过实践来船体参数;

  这三种思路完全来自于霖小屋的c# winform窗体之间传递参数问题总结,大家可以看看他的这篇博客学习学习。

  下面我要给大家说的一种方法相对来说有点繁琐,但对于winform程序初学者来说绝对的受用。之前在度娘上寻找winform窗体的显示与隐藏受到点启发,本来winform程序创建新的窗体的时候是不带参数的,为了能够在关闭这个窗体打开主窗体,在创建新的窗体时传入主窗体变量,在新建的窗体中用一个变量接收,这样新窗体中的变量就相当于主窗体对象,就可以访问主窗体类中定义的方法和控件的值及属性,也可以做进一步的修改,这种方法传值不是指主窗体中的某个变量或值,而传值是在创建窗体的时候传主窗体类对象,可能你们还听得云里雾里的,给大家附上一段代码,大家就能明白了。

        private Form1 returnForm1 = null;

         public Form2(Form1 F1)
        {
            InitializeComponent();
            // 接受Form1对象
            this.returnForm1 = F1;
        } 

       private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
              //在创建窗体Form2是传入Form1类对象,这样就可以访问主窗体Form1中的方法        和以及控件的值和属性
            this.returnForm1.Visible = true;  //恢复Form1
            returnForm1.DateViewDetails();//加载运行线路信息
            returnForm1.showStation();//首末站数据加载
            returnForm1.ComboBoxDetails();//掉电恢复区comboBox数据加载
            returnForm1.showStation();//显示首末站
        }

  

时间: 2024-10-10 18:17:04

c# winform 窗体之间的传参的相关文章

Vue组件之间的传参

Vue组件之间的传参方式有三种 第一:父传子 第二:子传父 第三:兄弟之间相传 第一,父传子,顾名思义,外层组件传参给嵌套内部的组件 在父代中嵌套的标签 <son v-bind:toSon="fatherData"></son> //发送数据给子代 在子代中接收数据 需要添加一个属性叫做prpos props:["toSon"], <!DOCTYPE html> <html lang="en"> &

C#使用事件方式Winform窗体之间传值

[摘自:http://www.cnblogs.com/codeToUp/p/5371062.html] 工程的源代码地址:https://github.com/yes-or-no/WinFormTransValueDemoByDelOrEvent.git C#winform窗体间传值,三种方法示例,注释详细.使用方法:使用vs2013打开编译运行即可: 工程中总共介绍了三种方法:###方法1:通过保存对象的引用调用其方法实现对子窗体的控制:###方法2:通过委托,在子窗体显示之前,为委托赋值,关

winform 窗体之间的操作

1 通过一个窗体按钮打开另一个窗体 Form f2 = new Form2(); f2.Show(); 通过这个打开第二个页面  要想只显示一个页面只能隐藏第一个页面 如果第一个页面关闭 第二个页面也会跟着关闭.. 2窗体之间的传值 窗体之间传值 需要两个甚至多个窗体 Form f2 = new Form2(要传递的值);f2.Show(); 然后再另一个需要这个值的窗体中 Users z = null;//根据值的类型实例化public Form4(Users a) //方法这里也要写要传入的

关于jsp之间href传参(中文)乱码问题

在A.jsp中有href传值 <a href=\"6.jsp?param="+rs.getString(2)+"\">" 在B.jsp中使用 <% request.setCharacterEncoding("utf-8");%> <%=request.getParameter("param")%> 获得值,运行调试发现是一堆乱码 起先我以为是jsp整体编码方式不对,所以进行了如下修

子组件以及父子组件之间的传参

子组件 栗子: 需要注意的点都在代码中注释标出来了 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title></title> <style> .wrap { width: calc(200px * 4 + 80px); margin: 0 auto; user-select: none; } .box

数据库与窗体之间互传图片

private void button1_Click(object sender, EventArgs e)//从硬盘打开图片显示在窗体里面 { OpenFileDialog op = new OpenFileDialog();//造一个打开对话框 DialogResult dr =op.ShowDialog();//将打开对话框显示出来 if(dr==DialogResult.OK) //如果点的是"打开" { FileStream fs = new FileStream(op.Fi

EXT学习之——Ext两个js之间的传参

A  的js访问 B的js,并将A选择的guid的行传到  B的 js进行处理事项 A 的js 的写法var receiverFrom = new xxx.xxx子js方法体名 ({ parentCmp: _this, patientName: IN_ORG_ID: _this.grid.getSelectionModel().selected.items[0].raw.IN_ORG_ID,xx:123 }); receiverFrom.Show(); (function () { xxx.xx

MvvmCross for WPF 支持子窗体显示、关闭、传参

最近在做 PCL(Portable Class Library)平台的项目,所以发一下自己遇到的问题 MvvmCross 是 PCL 平台的一个 MVVM 框架 地址:https://github.com/MvvmCross/MvvmCross 支持的平台: Silverlight for WP7, WP8 Mono for Android (or Xamarin.Android) MonoTouch for iOS (or Xamarin.iOS) the WinRT XAML framewo

关于url传参中文乱码问题

之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/contest/get_teams_by_type_with_page?typeName=新材料 当在windows 跑 myeclipse的命令台  能正确打印出typeName的参数,而且持久层并没有问题. 当在 linux 跑catalina模式  打印出乱码,持久层也是乱码. 百度了好几个好几