c#子窗体怎么向父窗体传值?

2024-11-19 19:30:20
推荐回答(5个)
回答1:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 传值练习
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }
       //1、利用构造函数由父窗体向子窗体传值
       private void button1_Click(object sender, EventArgs e)
       {
           Form2 f2 = new Form2(this.textBox1.Text);
           f2.Show();
       }

//利用方法由子窗体向父窗体传值
       public void chuanzhi(string data)
       {
           this.textBox1.Text = data;
       }
   }
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 传值练习
{
   public partial class Form2 : Form
   {
       public Form2()
       {
           InitializeComponent();
       }
       //1、利用构造函数由父窗体向子窗体传值
       public Form2(string name)
       {
           InitializeComponent();
           this.textBox1.Text = name;
       }

       

回答2:

方法一:可以把form1中的string a 定义为public 然后在form2中对form1中的a变量进行赋值。
方法二:可以创建一个类,在该类中定义一个属性来接收form2中的textbox的值,然后在form1中将这个类中的属性赋给变量a。
以上这两种方法,你可以试试。

回答3:

form1:

public string a{get;set}
form1()
{
...
form2 f2 = new form2();
f2.FatherForm = this;
f2.Show();
}

form2:

public form1 FatherForm{get;set;}
form2()
{
.....
FatherForm.a = textbox1.Text;
}

回答4:

1.用委托传值
2.定义一个用来传值的方法;
在load定义一个私有的string byvalue
然后写一个共有方法;
public string Byvalue
{
get{}
set{}
}
get set方法就自己写了,学c#的这应该知道吧,真不行hi我

回答5:

学习