c# Form之间进行值传递问题(参考)

在c#中,有时候会出现需要在2个Form中进行数据传递的问题,具体的说就是:我们往往需要把Form2中TextBox,Label,ComBox等控件的值传递给Form1类使用,网上也有许多做法,说的有的比较难理解,这里介绍一种比较容易理解的做法。

假设我们在Form2中有TextBox1和TexbBox2两个控件,我们想通过点击Form1中的Button1来输入Form2中TextBox1和TexbBox2的值,通过点击Form2中的Button2来计算这2个值的和,结果放在Form1中的TextBox1中,怎么做呢。

我们知道,Form类一般是由两部分组成的,一部分在Form2.cs里,一部分在Form1.Designer.cs里,且Form2.Designer.cs对控件进行初始化的部分是私有的,也就是说,Form控件只能通过在Form类内进行访问,不能在其他类中直接访问。

属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时,仍能提供方法的安全性和灵活性。

所以我们可以通过属性的方式来访问。

附简单代码如下

Form2.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FormValues

{

public
partial class
Form2 : Form

{

public Form2()

{

InitializeComponent();

}

public
TextBoxGetTB1

{

get {
returntextBox1; }

}

public
TextBoxGetTB2

{

get {
returntextBox2; }

}

private
voidbutton1_Click(object sender,
EventArgs e)

{

this.Visible =
false;

}

}

}

Form1.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace FormValues

{

public
partial class
Form1 : Form

{

Form2 Frm2 =
new Form2();

public Form1()

{

InitializeComponent();

}

private
voidbutton1_Click(object sender,
EventArgs e)

{

Frm2.Show();

}

private
voidbutton2_Click(object sender,
EventArgs e)

{

double a=
Convert.ToDouble(Frm2.GetTB1.Text);

double b=
Convert.ToDouble(Frm2.GetTB2.Text);

textBox1.Text = (a + b).ToString();

}

}

}

时间: 2024-08-24 15:27:51

c# Form之间进行值传递问题(参考)的相关文章

通过$broadcast或$emit在子级和父级controller之间进行值传递

1 通过$broadcast或$emit在controller之间进行值传递,不过这些controller必须是子级或者父级关系, 2 $emit只能向父级parent controller传递事件event与数据data,$broadcast只能向子级child controller传递event与data,$on用于接收event与data. 3 <script> 4 var myapp=angular.module('myapp',[]); 5 myapp.controller('Sel

Backbone中父子view之间的值传递

backbone中,使用最多的莫过于在view中进行操作,如模板的渲染以及事件函数的定义.为了提高代码的可维护性,一般地我们会写多个视图即view,将界面按照功能的不同进行模块化划分,模块与view一一对应. 首先,我们会定义一个父view,在view中控制不同子view的渲染,子view之间尽量不产生联系.这样,代码之间的耦合度会降低很多,模块的功能明确化,同时降低了开发的难度.笔者最近在项目中遇到父子view传值问题,学习到了一个知识点,比较简单易懂.主要想分享两个内容:1.父子view是如

c++ 中在形参与实参之间的值传递

主要是对比直接传递与引用类型.指针类型之间的区别. 1 #include <iostream> 2 using namespace std; 3 4 class MyClass 5 { 6 public: 7 int a; 8 void method(); 9 }; 10 void MyClass::method() 11 { 12 cout<<"the last value of class:a after fun:"<<a<<'\n'

UI中的界面之间的值传递 &lt;二&gt;

从后往前传 —— 代理传值 代理传值 (代理是前一个界面, 协议在后一个界面写, 后一个界面是委托方, 前一个界面是被委托方.) 一 : 在后一个界面定义协议 (定义一个用于传值的方法, 而且方法必须要有参数, 参数类型要与所传数据的类型保持一致) 二 : 在后一个界面定义代理属性, 用来保存代理对象. 三 : 设置后一个界面的代理 -- 在前一个界面进入后一个界面之前, 设置前一个界面为后一个界面的代理. 四 : 前一个界面服从协议. 五 : 前一个界面实现协议中的方法. 六 : 后一个界面让

UI中的界面之间的值传递 &lt;一&gt;

一. 从前往后传 —— 属性传值 1< 在后面一个界面定义属性(属性的类型要和传输的数据的数据类型一致). 2< 在从前一个界面进入到下一个界面之前, 将数据传给下一个界面. 例如有两个视图控制器: FirstViewController 和 SecondViewController 在这两个视图控制器中设置一个textField 和 label, 并且把FirstViewController的view上的textField上输入的text显示到SecondViewController的lab

wp8.1 Study1: 页面导航&amp;页面间值传递

摘要:wp8.1与wp8中很多API是不一样了,wp8.1把以前wp7.x时的api去掉了,更多与win8.1的API相似.比如以下的页面导航和页面之间的值传递 1.页面导航 利用Frame.Navigate() 方法,C#语句如下: 1 Frame.Navigate(typeof(Page2));//Page2为一个页面的名称 这里需要注意的是此方法是可以重载的,即后面介绍的页面间值传递方法. 2.页面间值传递 这里利用Frame.Navigate()重载方法,进行单个值传递和多个值传递 1)

JVM内存划分以及值传递和引用传递的区别

4-8-2017_SHJavaTraing_Day05 一.JVM对自己的内存划分为5个区域    1.方法栈:所有的方法运行的时候进入内存    2.堆:存储的是容器和对象    3.方法和数据共享: 运行时期class文件进入的地方    4.本地方法栈: JVM调用了系统中的功能    5.寄存器:内存和CUP之间 二.值传递和引用传递的区别(易错内容) 1.方法参数是基本数据类型 方法参数是基本数据类型时,传递的是值. 1 //演示方法参数是基本数据类型的传递 2 class Demo{

页面之间值传递常用的几种方式

1.QuerySting在页面间传递值 这种方法的写法:在要传递值的页面,Response.Redirect(url),值包含在在url中.接收值得页面,Request.QueryString["变量名"]. 这是使用起来很简单的一种方式,但是它不是很安全,因为值会在浏览器里的地址栏里显示.并且它也不能传递对象,对长度也有限制,如果要传递的值很多,且对安全要求也高的话,这种方式就不适合了. 2.Session变量 我们通常在一个页面中,将值放到session变量中,在另外几个页面使用它

从服务器获取的 数值,进行值传递,不同的文件夹之间的调用。

在A.h文件中 定义一个 @property (strong, nonatomic)  NSString *dicString; 在A.m文件中 //从服务器中获取到的值  赋给 dicString  进行值传递给另一个文件使用 NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:NULL];//自定义字典对象 NSString*