winform窗体间传值的问题

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

关于winform窗体间传值的解决方法已经有很多了,但我个人还是觉得通过中间对象的方法来实现好一些:

首先来定义一个中间对象Sender

using System;
using System.Text;
using System.Collections.Generic;
namespace demo

    
public class Observe 
    {  
        
private string strText;    
        
public string StrText
         {
            
get     
            {
              
return strText;
            }   
            
set
            {   
              strText 
= value;  
            } 
        }  
       
public Observe()
        {  
           
// TODO: 在此处添加构造函数
        } 
    }

然后在Form2(即发送值的窗体)中定义一个Observe成员
 
 private Observe o_Observer;
  
public Observe observe
  {
   
set
   {
    
this.o_Observer = value;
   }
  }
在Form2的事件处理中改变o_Observe的StrText
 
private void button1_Click(object sender, System.EventArgs e)
  {
   o_Observer.StrText 
= this.textBox1.Text;
   
this.Close();
  }

然后在Form1(即接收值的窗体中)取得Form2传来的值

       private void button1_Click(object sender, EventArgs e)
        {
            Form2 fm
= new Form2();
            fm.observe 
= o_Observe;
            fm.ShowDialog();
            
if (o_Observe.strText != null)
                Textbox1.Text 
= o_Observe.strText;
        }
 

C#的Winform窗体之间的传值

本人做Winform比较少,所以关于Winform窗体间的传值方式知道的也就这么几种。 1.通过构造函数进行传值。 实现代码如下: 在窗体Form2中 int value1; ...
  • a631464421
  • a631464421
  • 2015年03月26日 21:04
  • 4727

Winform中利用委托实现窗体之间的传值

下面我实现一个最简单的页面传值功能,相信初学者能一看就明白。 点击打开按扭,打开传输值窗体 1 public partial class Form1 : Form 2 ...
  • yw1688
  • yw1688
  • 2016年06月21日 19:12
  • 561

Visual Studio 中两个窗体(WinForm)之间相互传值的方法

编写WinowsForm应用程序时,实现两个窗体之间相互传递值的方法其实很简单。以下用一个例子说明:在名为FormMain主窗体运行过程中利用名为FormInfo窗体,获取用户输入信息,并将这些信息返...
  • rockyzee
  • rockyzee
  • 2014年03月18日 19:26
  • 2429

WinForm窗体间如何传值的几种方法

(转) 窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式:   公共静态变量; 使用共有属性; 使用委托与事件; 通过构造函数把主窗体传递到从窗...
  • kokeng89
  • kokeng89
  • 2014年06月21日 11:25
  • 371

winform中窗体之间跳转如何传值

通过公共静态类进行传值;  通过绑定事件进行传值;  使用Attribute  public partial class Form1 : Form    {    private ...
  • e_wsq
  • e_wsq
  • 2012年07月04日 09:44
  • 1112

C# WinForm窗体间传值

窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式:   公共静态变量;使用共有属性;使用委托与事件;通过构造函数把主窗体传递到从窗体中;   一、通...
  • u011763190
  • u011763190
  • 2014年03月31日 10:37
  • 1658

子窗体和父窗体双向传值——C#窗体传值方法总结

简介  在很多场景下,我们的程序需要完成窗体间的传值功能,有时候是父窗体→子窗体单向传值、子窗体→父窗体传值甚至是,也有时候我们需要父窗体⇆子窗体双向传值。   在本文中主要介绍一些能够实现双向传值...
  • honantic
  • honantic
  • 2015年05月29日 11:54
  • 3955

【C#】窗体间互相传值

网上关于C#之间的窗体之间互相传值其实很坑的。主要有修改要被传递数值的窗体的构造函数,然而这种方法,如果你要做打开一个窗体,然后这个窗体输入完东西之后传递回去,根本就是不知道怎么实现。之后还有什么委托...
  • yongh701
  • yongh701
  • 2015年12月03日 17:33
  • 2492

WinForm窗体间传值

1.通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中       int value1; string value2; public For...
  • hb0746
  • hb0746
  • 2014年03月21日 10:55
  • 283

两个窗体间实时传递数据

相信大家在做系统的时候,很多人都遇到需要在两个不同的窗体间传递数据的情况,例如可以单独打开一个窗口,用于显示代码名称对照关系,通过双击该窗体的数据,我们希望这个数据传递到另一个窗体中。如何实现两个窗体...
  • liangsanpi
  • liangsanpi
  • 2008年11月24日 10:44
  • 782
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:winform窗体间传值的问题
举报原因:
原因补充:

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