怎么把一个窗体中的值传到另一个窗体中的textbox中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把一个窗体中的值传到另一个窗体中的textbox中相关的知识,希望对你有一定的参考价值。

我创建了两个窗体,一个只有textbox,另一个只有monthcalender;我选择monthcalender中的一个值,怎样把这个值传到textbox中

Form1

using System;
using System.Windows.Forms;

namespace PassDataFromChildToParent

    public partial class FrmParent : Form
    
        public string ParentText
        
            get  return this.textBox1.Text; 
            set  this.textBox1.Text = value; 
        

        public FrmParent()
        
            InitializeComponent();
        

        private void button1_Click(object sender, EventArgs e)
        
            FrmChild frm = new FrmChild(this);
            frm.ShowDialog();
            //1.直接访问控件值
            //this.textBox2.Text = (frm.Controls["monthCalendar1"] as MonthCalendar).SelectionStart.ToShortDateString();
            //2.访问属性值
            this.textBox2.Text = frm.ChileDate.ToShortDateString();
        
    

Form2:

using System;
using System.Windows.Forms;

namespace PassDataFromChildToParent

    public partial class FrmChild : Form
    
        private FrmParent _ParentForm;

        public DateTime ChileDate
        
            get  return this.monthCalendar1.SelectionStart; 
            set  this.monthCalendar1.SelectionStart = value; 
        

        public FrmChild(FrmParent parent)
        
            InitializeComponent();

            _ParentForm = parent;
        

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        
            //1.设置控件值
            //(_ParentForm.Controls["textBox1"] as TextBox).Text = monthCalendar1.SelectionStart.ToShortDateString();
            //2.设置属性值
            _ParentForm.ParentText = monthCalendar1.SelectionStart.ToShortDateString();
        
    
参考技术A

把一个窗体中的值传给另一个窗体的文本框控件:

1)在当前窗体Form1传递,可直接将该值通过以下语句传递:

Form2.Text1.Text = 136

2)也可通过模块级全局变量传递。

参考技术B 这种分两种情况:1、form2在form1前面可以利用窗体传值就可以实现,在form1中增加一个带有参数的构造函数;2、form1在form2前面,可以修改form1的textbox1的访问属性为public,使textbox1在form2中能访问,实现日期值=textbox1.text; 参考技术C Form1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

using System;
using System.Windows.Forms;

namespace PassDataFromChildToParent

public partial class FrmParent : Form

public string ParentText

get return this.textBox1.Text;
set this.textBox1.Text = value;


public FrmParent()

InitializeComponent();


private void button1_Click(object sender, EventArgs e)

FrmChild frm = new FrmChild(this);
frm.ShowDialog();
//1.直接访问控件值
//this.textBox2.Text = (frm.Controls["monthCalendar1"] as MonthCalendar).SelectionStart.ToShortDateString();
//2.访问属性值
this.textBox2.Text = frm.ChileDate.ToShortDateString();




Form2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

using System;
using System.Windows.Forms;

namespace PassDataFromChildToParent

public partial class FrmChild : Form

private FrmParent _ParentForm;

public DateTime ChileDate

get return this.monthCalendar1.SelectionStart;
set this.monthCalendar1.SelectionStart = value;


public FrmChild(FrmParent parent)

InitializeComponent();

_ParentForm = parent;


private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)

//1.设置控件值
//(_ParentForm.Controls["textBox1"] as TextBox).Text = monthCalendar1.SelectionStart.ToShortDateString();
//2.设置属性值
_ParentForm.ParentText = monthCalendar1.SelectionStart.ToShortDateString();


C#里怎么在一个窗体里调用另一个窗体的控件

设有form1和from2,假如form1调用form2的控件,在form1的代码窗口定义一个form2的对象,把你想要调用的form2的控件的属性Modifier改为Publlic就可以在form2的对象看见了。 参考技术A 窗体类名 你的名字=new 窗体类型();
你的名字.窗体控件
如果窗体控件不显示,则在你想调用的那个窗体里将你想调用的控件设置成public即可显示。
全过程,OVER。
参考技术B 看你想要达到什么效果啦,可以有好好几种实现方式啦 参考技术C 问题说清楚点!

以上是关于怎么把一个窗体中的值传到另一个窗体中的textbox中的主要内容,如果未能解决你的问题,请参考以下文章

c#如何使用委托 触发另一个窗体的按钮刷新另一窗体

winform界面传值问题

C#中怎样在一个窗体引用另一个窗体的变量

C#一个普通的类,怎么获取窗体里控件的属性?

在C#中,如何在一个窗体中调用另一个窗体的数据?

C#如何在一个窗体中读取另一个窗体的控件的数据