C# 窗体间传递数据

C#两个窗体之间传递数据

1 公用变量值传递

  public partial class Form1 : Form  //parent form
    {
        public string name="";
        public Form1()
        {
            InitializeComponent();
        }
        private void newBtn_Click(object sender, EventArgs e)
        {
            Form2 form2 =new Form2();
            form2.ShowDialog();
            if (form2.DialogResult == DialogResult.OK)
            {
                textBox1.Text = form2.name;
                form2.Close();
            }
        }
    }
 public partial class Form2 : Form // son form
    {
        public string name
       {
            set { textBox1.Text = value; }
            get { return textBox1.Text; }
        }
        public Form2()
        {
            InitializeComponent();
        }

        private void OK_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("input!");
                return;
            }
            DialogResult = DialogResult.OK;
            Close();
        }
    }

2 使用地址方式传递

 public partial class Form1 : Form  //parent form

    {
        public string name="";
        public Form1()
        {
            InitializeComponent();
        }
        private void newBtn_Click(object sender, EventArgs e)
        {
            Form2 form2 =new Form2();
            form2.Owner = this;//form2的指针指向form1
            form2.ShowDialog();
            textBox1.Text = form2.name;
            form2.Close();
        }
    }
 public partial class Form2 : Form  //son form
    {
        public string name
       {
            set { textBox1.Text = value; }
            get { return textBox1.Text; }
        }
        public Form2()
        {
            InitializeComponent();
        }

        private void OK_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("input!");
                return;
            }
            Form1 form1 = (Form1)this.Owner;//form2的父窗体指针赋给form1
            Close();
        }
    }

C# 窗体间传递数据

时间: 2024-08-04 20:35:15

C# 窗体间传递数据的相关文章

窗体间传递数据(跨控件跨类),三种情况与处理方法

环境:Qt5.5 MCVS2013 IDE:QtCreator 范例代码下载地址:http://download.csdn.net/detail/shihoongbo/9134859 发现很多Qt的初学者,经常会在“窗体间如何传递数据”的问题上卡住,而网上通常只是简单描述为使用信号与槽(signal& slot)机制来传递 虽然信号与槽的传递方式确实没错,但是却不一定能适用到全部的情况. 所以,总结了窗体间传递数据的三种情况和对应方法: 模型描述:  已知三个窗体,A为B C的父控件,B与C互为

C#不同窗体间通信,数据传递

在一个项目中,很多时候都需要在窗体间进行数据传递和通信,最觉见的是父子窗体之间的数据传递,比如登录ID,各个窗体都需要知道.有很多文章都写了这方面的问题,提出很多优秀的方法,鄙人不才,搜了一些资料之后,准备献丑了. 1.       如果很多窗体都需要用到某一窗体的东西,比如登录窗体记录的ID,为了避免每个窗体都去查询数据库,可以把这些公共变量或信息写入配置文件,每个窗体去读配置文件即可. 2.       如果共享信息的窗体不多,则对于兄弟窗口,可以通过其共同的父窗体来传递数据,此时父窗体如果

使用Bundle在Activity间传递数据

使用Bundle在Activity间传递数据 源Activity public class SourceActivty extends Activity { private Intent intent=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); intent=new In

Android程序中Acticity间传递数据

在Android开发过程中,在不同的Acitivity之间传递数据的情况是非常常见的.我花费了一点时间来总结Acitivity之间的数据传递,记录下来. 1.简单传递键值对 这种传递方式非常简单,只需要在构造Intent加入相应的键值对. 在ActivityA中,调用Intent的代码如下: 1 Intent i = new Intent(ActivityA.this,ActivityB.class); 2 i.putExtra("name", "Finlay Liu&quo

在Activity间传递数据的四种方法及返回结果

1.通用方法 使用intent的PutExtra方法传入,用getExtra等方法获得数据 主类 Intent intent=new Intent(MainActivity.this,OtherActivity.class); intent.putExtra("name", "张三"); intent.putExtra("age", 23); intent.putExtra("address", "北京")

C# 窗口间传递数据

C#两个窗口之间传递数据 1 公用变量值传递 public partial class Form1 : Form //parent form { public string name=""; public Form1() { InitializeComponent(); } private void newBtn_Click(object sender, EventArgs e) { Form2 form2 =new Form2(); form2.ShowDialog(); //NOT

Android广播接收器和Activity间传递数据

Activity向广播接收器传递数据很简单,只需要在发送广播前将数据put进Intent中就行了. 广播接收器怎么向Activity传送数据?这里要用到接口,通过在广播接收器里定义一个接口,然后让接收广播接收器数据的Activity实现这个接口.先看下面的栗子,Activity发送一个广播,然后广播接收器返回一个字符串. Activity布局文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearL

C#中使用SendMessage在进程间传递数据的实例

1 新建解决方案SendMessageExample在解决方案下面新建三个项目:CopyDataStruct,Receiver和Sender.其中,CopyDataStruct项目的输出类型为"类库",Receiver和Sender项目的输出类型为"Windows 应用程序".整个实例程序的结构如下图所示. 2 CopyDataStruct项目实现定义结构体COPYDATASTRUCT,代码如下所示. using System;using System.Runtim

StoryBoard学习(5):使用segue页面间传递数据

函数: C代码   - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 具体例子: 1.首先创建1个Single View模版项目,然后在MainStoryboard中添加1个新的ViewContronller.并在2个View Controller中添加标签.按钮.编辑输入框. 2. 将第1页和第2页建立segue. 选中第1页中的按钮[跳到第2页],鼠标右键(或按住Controll键,鼠标左键)拖拽到第2页