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(); //NOTE this! must be ShowDialog()  NOT Show()!
            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();
        }
    }
时间: 2024-11-05 02:37:41

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

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 (f

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

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

使用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", "北京")

javascript浏览器窗口之间传递数据

摘要: 在项目开发中我们经常会遇到弹窗,有的是通过div模拟弹窗效果,有的是通过iframe,也有通过window自带的open函数打开一个新的窗口.今天给大家分享的是最后一种通过window.open()函数打开页面进行数据交互.首先看下效果图: 原理: 父窗口给子窗口传递数据是通过url的参数传递过去,子窗口给父窗口传递数据是通过父窗口的全局函数传递. 代码: index.html <!DOCTYPE html> <html lang="en"> <h

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

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

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页

【转】使用segue页面间传递数据

函数: - (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页后,放手,在