WinForm中页面传值的方式

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

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

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

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

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

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

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

代码如下:

主窗体代码:

 

WinForm中页面传值的方式 using  System;
WinForm中页面传值的方式
using  System.Collections.Generic;
WinForm中页面传值的方式
using  System.ComponentModel;
WinForm中页面传值的方式
using  System.Data;
WinForm中页面传值的方式
using  System.Drawing;
WinForm中页面传值的方式
using  System.Text;
WinForm中页面传值的方式
using  System.Windows.Forms;
WinForm中页面传值的方式
WinForm中页面传值的方式
namespace  WinTestValue
WinForm中页面传值的方式
{
WinForm中页面传值的方式    
public partial class Main : Form
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
public Main()
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            InitializeComponent();
WinForm中页面传值的方式            F004_ComonClass fc 
= new F004_ComonClass();
WinForm中页面传值的方式            fc.Show();
WinForm中页面传值的方式        }

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

WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
private void btn_cancel_Click(object sender, EventArgs e)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            
this.Close();
WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
方法4:通过绑定事件进行传值
WinForm中页面传值的方式
WinForm中页面传值的方式        
方法3:通过公共静态类进行传值
WinForm中页面传值的方式
WinForm中页面传值的方式        
方法5:使用Attribute
WinForm中页面传值的方式    }

WinForm中页面传值的方式}

F001_ShowDialog的代码:

WinForm中页面传值的方式 public   partial   class  F001_ShowDialog : Form
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
//第一种类型
WinForm中页面传值的方式        
//定义一个变量
WinForm中页面传值的方式
        public static string returnValue;
WinForm中页面传值的方式
WinForm中页面传值的方式        
//第二种类型
WinForm中页面传值的方式        
//定义一个方法
WinForm中页面传值的方式
        public string ReturnValue()
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            
return this.tbx_value.Text.Trim();
WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
//第三种类型
WinForm中页面传值的方式        
//定义一个属性
WinForm中页面传值的方式
        private string _value;
WinForm中页面传值的方式        
public string RValue
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            
get 
WinForm中页面传值的方式            
{
WinForm中页面传值的方式                
return _value;
WinForm中页面传值的方式            }

WinForm中页面传值的方式            
set 
WinForm中页面传值的方式            
{
WinForm中页面传值的方式                _value 
= value;
WinForm中页面传值的方式            }

WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
public F001_ShowDialog()
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            InitializeComponent();
WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
private void btn_ok_Click(object sender, EventArgs e)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            returnValue 
= this.tbx_value.Text.Trim();
WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
private void btn_ok1_Click(object sender, EventArgs e)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            _value 
= this.tbx_value.Text.Trim();
WinForm中页面传值的方式        }

WinForm中页面传值的方式    }

 

F002_GouZao的代码:

WinForm中页面传值的方式      public   partial   class  F002_GouZao : Form
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
//定义Main窗体的实例
WinForm中页面传值的方式
        private Main main;
WinForm中页面传值的方式
WinForm中页面传值的方式        
//public F003_GouZao()
WinForm中页面传值的方式        
//{
WinForm中页面传值的方式        
//    InitializeComponent();
WinForm中页面传值的方式        
//}
WinForm中页面传值的方式

WinForm中页面传值的方式        
public F002_GouZao(Main m)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            InitializeComponent();
WinForm中页面传值的方式            main 
= m;
WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
private void btn_ok_Click(object sender, EventArgs e)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            main.Tvalue.Text 
= this.tbx_value.Text.Trim();
WinForm中页面传值的方式            MessageBox.Show(
"成功!");
WinForm中页面传值的方式        }

WinForm中页面传值的方式    }

 

F004_ComonClass的代码:

WinForm中页面传值的方式      public   partial   class  F004_ComonClass : Form
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
public F004_ComonClass()
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            InitializeComponent();
WinForm中页面传值的方式            
//ComonData.sTextBox = this.tbxInfo.Text.Trim().ToString();
WinForm中页面传值的方式
        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
private void btn_data_Click(object sender, EventArgs e)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            ComonData.sTextBox 
= this.tbxInfo.Text.Trim().ToString();
WinForm中页面传值的方式        }

WinForm中页面传值的方式    }

 

F003_Event的代码:

WinForm中页面传值的方式      public   partial   class  F003_Event : Form
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
//定义一个事件
WinForm中页面传值的方式
        public event MyEventHandler myenent;
WinForm中页面传值的方式        
public F003_Event()
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            InitializeComponent();
WinForm中页面传值的方式        }

WinForm中页面传值的方式
WinForm中页面传值的方式        
private void btn_ok_Click(object sender, EventArgs e)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            
if (myenent != null)
WinForm中页面传值的方式            
{
WinForm中页面传值的方式                myenent(
this,new MyEvent(this.tbx_value.Text.Trim()));
WinForm中页面传值的方式            }

WinForm中页面传值的方式        }

WinForm中页面传值的方式    }

 

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

WinForm中页面传值的方式      public   delegate   void  MyEventHandler( object  sender, MyEvent e);
WinForm中页面传值的方式    
public   class  MyEvent : EventArgs
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
private string mvalue;
WinForm中页面传值的方式        
public string MValue
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            
get
WinForm中页面传值的方式            
{
WinForm中页面传值的方式                
return mvalue;
WinForm中页面传值的方式            }

WinForm中页面传值的方式        }

WinForm中页面传值的方式        
public MyEvent(string s)
WinForm中页面传值的方式        
{
WinForm中页面传值的方式            mvalue 
= s;
WinForm中页面传值的方式        }

WinForm中页面传值的方式    }

 

WinForm中页面传值的方式      //  定义一个公共数据类
WinForm中页面传值的方式
     public   static   class  ComonData
WinForm中页面传值的方式    
{
WinForm中页面传值的方式        
public static string sTextBox;
WinForm中页面传值的方式    }

 

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

你可能感兴趣的:(WinForm)