C# ShowDialog时窗体贱传值得方法
用C#开发应用的时候,通常需要多个窗体!有时候为了打开窗体的时候禁止操作父窗体,我们一般采用模态对话框的方法,也算就是用ShowDialog()方法。
假设有两个窗体A和B,A作为主窗体使用ShowDialog()方法打开B窗体,我们可能遇到以下几种情况。
1.从A窗体传值到B窗体,这个一般有两个方法。
方法一:
A窗体代码:
FormB fb=new FormB();
fb.varStr="i am a test string":
fb.ShowDialog()
B窗体代码:
public string varStr;
这样就可以将A窗体中的内容窗体到B窗体中,在B窗体中直接使用varStr变量即可。
方法二:
A窗体代码:
string varStr="aaaaaaaaaa";
FromB fb = new FormB(varStr);
fb.ShowDialog();
B窗体代码:
private string str;
public FormB(string str)
{
InitializeComponent();
this.str=str;
}
这样也可以达到同样的目的;
2.从B窗体传值到A窗体。
这个需求挺有意思,百度找到了千百种方法,一个比一个蛋疼,一个比一个复杂。其实这个真的很简单
A窗体代码:
FromB fb=new FormB();
fb.ShowDialog();
string rtStr=fb.returnStr;
B窗体代码:
public string returnStr;
returnStr="我是要传递到A窗体的内容";
this.Close();
其实这样就可以了,根据我自己的经验来看,那么多人没想到这么来估计是以为B窗体Close()之后就销毁了,其实我测试后发现没有,Close之后还是可以获取其中的变量。
C# ShowDialog时窗体贱传值得方法的更多相关文章
- ASP.NET 窗体间传值实现方法详解
假设ParentForm.aspx 页面上有TextBox1文本框和Open按钮点击Open按钮弹出SubForm.aspx,SubForm.aspx页面上有TextBox1文本框和Close按钮点击 ...
- c#窗体的传值方法
了解了窗体的显示相关知识,接着总结一下窗体的传值方法: .通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中 int value1; ...
- C#窗体间传值的简便方法/工具
一.问题:窗体间传值必须需要窗体之间有联系,具体有如下方式 窗体间传值涉及到窗体A必须拥有窗体B,这样才可以实现A-B之间传值 窗体A与窗体B在窗体/实例C中,A-B可互相通讯 其他方式,不细讨论,复 ...
- 【转】WinForm窗体显示和窗体间传值
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...
- webform 页面传值的方法总结
ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有Quer ...
- C#利用事件与委托进行窗体间传值简单小例子
本篇博客是利用C#委托与事件进行窗体间传值的简单小例子 委托与事件的详细解释大家可以参照张子阳的博客: http://www.tracefact.net/CSharp-Programming/Dele ...
- QT窗体间传值总结之Signal&Slot
在写程序时,难免会碰到多窗体之间进行传值的问题.依照自己的理解,我把多窗体传值的可以使用的方法归纳如下: 1.使用QT中的Signal&Slot机制进行传值: 2.使用全局变量: 3.使用pu ...
- winform 窗体间传值
WinForm 两窗体之间传值实例 2010-12-27 22:10:11| 分类: 学业|举报|字号 订阅 下载LOFTER我的照片书 | 窗体Form1和Form2 Form2 ...
- Pyqt 窗体间传值
窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件. Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...
随机推荐
- SSH实现远程控制
SSH(Secure Shell)是一种能够提供安全远程登录会话的协议,使用ssh可以在远程linux中执行命令. sshd服务提供两种安全验证的方法: (1)基于口令的安全验证:经过验证帐号与密码即 ...
- Microsoft Office Visio 2013 (安装 + 激活)
Visio是一款能处理复杂信息.系统和流程进行可视化.分析和交流的软件,从“office 2003”以后,Visio作为一个单独软件发行,不再集成于office办公软件. 工具/原料 Visio 电脑 ...
- 数据库连接配置 app.config web.config
通过ADO.Net连接程序和SQLServer数据库的连接字符串: connectionString ="server=(local);database=Demo;integrated se ...
- AbstractIdleService
该类有一个startup和shutdown方法,启动此服务或者结束此服务的时候可以调用. Runtime.getRuntime().addShutdownHook(new Thread() {@Ove ...
- 【openCV学习笔记】【2】读取并播放一段视频
#include <iostream> #include <opencv/highgui.h> int main(int argc, char** argv){ cvNamed ...
- debian修改主机名
hostnamectl set-hostname aaa 或者 vim /etc/hostname 记得更新 /etc/hosts
- 【转】Apache Jmeter发送post请求
下面用Jmeter发送一个post请求, 对应的js代码如下: $("#register_a").click(function() { var name = $("#un ...
- 【转】Jmeter JDBC请求的问题
如何添加一个JDBC请求?本次以Orale为例. 1 From网上下载一个名为Class12.jar 的驱动包,然后放到该目录下:[否则会提示no suitable driver] 2 查看链接O ...
- 查询mysql 哪些表正在被锁状态
查询mysql 哪些表正在被锁状态 show OPEN TABLES where In_use > 0; 参考链接:http://zhidao.baidu.com/link?url=tCQ70t ...
- FusionCharts simple demo for (html+js、APS.NET Webform、MVC)
做GIS或其他内部数据统计项目的应该对FusionCharts也不会太陌生,简单易用已无需多说什么了,只是有时候框架不同,实现起来也稍有差异 引用dll调用FusionCharts类的静态方法Rend ...