• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > Winform窗体传值的方法(示例)

Winform窗体传值的方法(示例)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了winform窗体传值,winform窗体间传值,winform 跨窗体传值,winform页面传值,winform 窗口传值等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

进行用C#来开发windows应用程序项目时,不同窗口之间传值有很多种不同的方法, 假设项目中有两个窗体,Form1和Form2,要实现的效果是:点击Form1中的按钮打开From2,点击Form2中的按钮改变窗体Form1的背景颜色。

示例一:

点击Form1中的按钮打开From2,点击Form2中的按钮改变窗体Form1的背景颜色。

Form1的代码:

 public partial class Form : Form
 {
  public Form()
  {
  InitializeComponent();
  }
  private void button_Click(object sender, EventArgs e)
  {
  //通过Form的构造函数将Form对象传递到Form中
  Form form = new Form(this);
  form.Show();
  }
 }
</div>

 Form2的代码:

public partial class Form : Form
 {
  //首先在Form中定义Form类型字段用来存储Form对象
  Form form=null;
  Random r = new Random();
  public Form()
  {
  InitializeComponent();
  }
  public Form(Form form):this()
  {
  //通过构造方法将Form对象给Form字段赋值
  form = form;
  }
  private void button_Click(object sender, EventArgs e)
  {
  //随机改变Form的背景颜色
  form.BackColor = Color.FromArgb(r.Next(),r.Next(),r.Next());
  }
 }
</div>

示例二:

假设项目中有两个窗体,Form1和Form2,要实现的效果是点击Form1中的Button1按钮实现TextBox1和TextBox2中的值相加,然后把这个相加的值传递给Form2中的TextBox1,并在TextBox1中显示出这个和值。

通过为窗体类写属性来传递值

(1),在被传递值的窗体(这里是Form2)类里面写属性

private string str;//定义的私有变量


 public string STR//为窗体Form2定义的属性
 {
  get //读
  { return str;
  }
  set//写
  {
  str = value;
  }
 }

</div>

(2),在Form2中把读到的属性赋给Form2中的TextBox1文本框
        private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = str;
        }

</div>

(3),在Form1中的Button1的Click点击事件中写如下代码
       

 private void button1_Click(object sender, EventArgs e)
 {
  Form2 frm2 = new Form2();
  int a, b, sum;
  if (int.TryParse(textBox1.Text, out a) && int.TryParse(textBox2.Text, out b))//关于TryParse的使用方法,见补充知识。
  {
  sum = a + b;
  frm2.STR = sum.ToString();
  frm2.ShowDialog();
  }
  else
  {
  frm2.STR = "输入的为非数字型字符串";
  frm2.ShowDialog();
  }
 }
</div>

大功告成,在你的机子上运行下,是不是成功了?

 补充知识:
parse,tryparse区别
Convert.ToInt32,int.Parse(),int.TryParse,(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢?
Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:
Convert.ToInt32 参数为 null 时,返回 0;
int.Parse 参数为 null 时,抛出异常。
Convert.ToInt32 参数为 "" 时,抛出异常;
int.Parse 参数为 "" 时,抛出异常。
Convert.ToInt32 可以转换的类型较多;
int.Parse 只能转换数字类型的字符串。
int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0。
int m;
if(int.TryParse("2"),out m)
{
...
}

</div>

返回true ,运行{}内,并给m赋值为2;
  if(int.TryParse("ddd"),out m)
{
...
}
</div>

返回false,不运行if{}内,并给m赋值为0;
使用Parse和TryParse转换数字字符串
基本数字类型包含Parse和TryParse方法,可用于将数字字符串转换为指定的数字类型,例如:

 TryParse方法是.NET2.0中引入的,它能提供有条件的解析。这个方法会返回一个布尔值,以指示解析是否成功,从而可以免去添加异常处理代码的麻烦。下面的例子使用了一个Int32类型来演示TryParse的两种形式:

 

在第二种形式中,第一个参数是要解析的文本字符串,第二个参数是NumberStyles枚举类型,它说明了输入字符串中可能包含的内容,返回值将放在第四个参数中返回。

 以上就是Winform窗体传值的方法(示例),希望对大家有所帮助。

 

 

 

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Winform窗体传值的方法(示例)
  • C# Winform窗口之间传值的多种方法浅析
  • Winform启动另一个项目传值的方法
  • WinForm窗体间传值的方法

相关文章

  • 2017-05-28c#冒泡排序示例分享
  • 2017-05-28C#中DataTable导出为HTML格式的方法
  • 2017-05-28c#类的使用示例
  • 2017-05-28C#多线程学习之(二)操纵一个线程的方法
  • 2017-05-28深入C#任务管理器中应用程序选项隐藏程序本身的方法详解
  • 2017-05-28C#中查找Dictionary中的重复值的方法
  • 2017-05-28C#数值转换-隐式数值转换表参考
  • 2017-05-28C#词法分析器之词法分析的使用详解
  • 2017-05-28C#获取文件创建时间的方法
  • 2017-05-28C#实现Winform无边框移动的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#拼图游戏编写代码(2)
    • C# 未处理的“System.InvalidOperationException”类型的异常
    • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
    • C#中按字符串截取长字符串实例
    • C#使用Equals()方法比较两个对象是否相等的方法
    • 详解三种C#实现数组反转方式
    • C#获取路由器外网IP,MAC地址的实现代码
    • c#索引器详解示例
    • C#读取或设置ScrollLock状态的方法
    • C#创建数据库及附加数据库的操作方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有