WinForm中页面传值的方式

转载 2007年09月27日 16:37:00

最近自己继续对WinForm进行学习,把自己学习中的一点体会写出来。

WinForm中的窗体传值有多种方法,自己结合相关资料总结了一下,大概有5种方式(或者更多):

1、通过 ShowDialog()进行传值;

2、通过改造构造函数进行传值(加参数);

3、通过公共静态类进行传值;

4、通过绑定事件进行传值;

5、使用Attribute(本人属初学,尚需深入研究,希望高手给与指正)

代码如下:

主窗体代码:

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WinTestValue
{
    
public partial class Main : Form
    
{
        
public Main()
        
{
            InitializeComponent();
            F004_ComonClass fc 
= new F004_ComonClass();
            fc.Show();
        }

        
方法1:通过ShowDialog进行页面传值

        
方法2: 通过构造函数进行页面传值
        
        
//定义textbox属性
        public TextBox Tvalue
        
{
            
get
            
{
                
return this.tbx_value;
            }

        }


        
private void btn_cancel_Click(object sender, EventArgs e)
        
{
            
this.Close();
        }


        
方法4:通过绑定事件进行传值

        
方法3:通过公共静态类进行传值

        
方法5:使用Attribute
    }

}

F001_ShowDialog的代码:

public partial class F001_ShowDialog : Form
    
{
        
//第一种类型
        
//定义一个变量
        public static string returnValue;

        
//第二种类型
        
//定义一个方法
        public string ReturnValue()
        
{
            
return this.tbx_value.Text.Trim();
        }


        
//第三种类型
        
//定义一个属性
        private string _value;
        
public string RValue
        
{
            
get 
            
{
                
return _value;
            }

            
set 
            
{
                _value 
= value;
            }

        }


        
public F001_ShowDialog()
        
{
            InitializeComponent();
        }


        
private void btn_ok_Click(object sender, EventArgs e)
        
{
            returnValue 
= this.tbx_value.Text.Trim();
        }


        
private void btn_ok1_Click(object sender, EventArgs e)
        
{
            _value 
= this.tbx_value.Text.Trim();
        }

    }

 

F002_GouZao的代码:

    public partial class F002_GouZao : Form
    
{
        
//定义Main窗体的实例
        private Main main;

        
//public F003_GouZao()
        
//{
        
//    InitializeComponent();
        
//}

        
public F002_GouZao(Main m)
        
{
            InitializeComponent();
            main 
= m;
        }


        
private void btn_ok_Click(object sender, EventArgs e)
        
{
            main.Tvalue.Text 
= this.tbx_value.Text.Trim();
            MessageBox.Show(
"成功!");
        }

    }

 

F004_ComonClass的代码:

    public partial class F004_ComonClass : Form
    
{
        
public F004_ComonClass()
        
{
            InitializeComponent();
            
//ComonData.sTextBox = this.tbxInfo.Text.Trim().ToString();
        }


        
private void btn_data_Click(object sender, EventArgs e)
        
{
            ComonData.sTextBox 
= this.tbxInfo.Text.Trim().ToString();
        }

    }

 

F003_Event的代码:

    public partial class F003_Event : Form
    
{
        
//定义一个事件
        public event MyEventHandler myenent;
        
public F003_Event()
        
{
            InitializeComponent();
        }


        
private void btn_ok_Click(object sender, EventArgs e)
        
{
            
if (myenent != null)
            
{
                myenent(
this,new MyEvent(this.tbx_value.Text.Trim()));
            }

        }

    }

 

自定义的委托和事件的代码:

    public delegate void MyEventHandler(object sender, MyEvent e);
    
public class MyEvent : EventArgs
    
{
        
private string mvalue;
        
public string MValue
        
{
            
get
            
{
                
return mvalue;
            }

        }

        
public MyEvent(string s)
        
{
            mvalue 
= s;
        }

    }

 

    // 定义一个公共数据类
    public static class ComonData
    
{
        
public static string sTextBox;
    }

 

Attribute部分还没完成,有些方面没有搞明白,过段时间再加上。 

WinForm中页面传值的方式

http://www.cnblogs.com/moss_tan_jun/archive/2011/06/12/2078971.htmlWinForm中的窗体传值有多种方法,自己结合相关资料总结了一下,...
  • plean
  • plean
  • 2011年07月13日 16:08
  • 462

ASP.NET 页面传值的方式

  • 2011年11月18日 15:56
  • 12KB
  • 下载

iOS页面传值常见三种方式

  • 2016年01月16日 17:26
  • 66KB
  • 下载

Winform窗体传值的几种方式(属性赋值,委托,事件)

百度云盘代码下载:http://pan.baidu.com/share/link?shareid=388120&uk=3627406265 窗体设计: 父窗体: 子窗体: 方法一: ...

【MVC】MVC中页面传值的几种方式总结

原来写代码的时候都是别人写就照着写,大部分都是返回json,使用js,但是对于其他的传值方式用的少之又少,特别是当不使用easyUI的时候对它更是感觉到生疏,今天就对它的几种传值方式进行一下总结。 ...

目前在ASP.NET中页面传值共有这么几种方式

一、目前在ASP.NET中页面传值共有这么几种方式: 1、表单提交,          ....    form1.submit();    ....    此种方在ASP...

.NET页面之间传值的几种方式总结

1、  QueryString 当页面上的form以get方式向页面发送请求数据时,web server将请求数据放入一名为QEURY_STRING的环境变量中,QeueryString方法从这个变...

ASP.NET页面间传值的几种方式 分类

ASP.NET页面间传值的几种方式 分类: 技术类2009-05-12 11:20 13925人阅读 评论(8) 收藏 举报 asp.netwebformcalendartextb...

MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下:

MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一、Controller----------->View 1、ViewData ...
  • Sayesan
  • Sayesan
  • 2015年08月21日 14:07
  • 3193

asp.net几种页面传值的方式

1.QueryString()方法 传递的值会显示在浏览器中,可以传递一个或多个值,对于安全要求不高的数据可以采用这种方法,但不支持传递数组和对象 HTML url传值...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WinForm中页面传值的方式
举报原因:
原因补充:

(最多只允许输入30个字)