C#窗体之间传递参数

原文地址:https://blog.csdn.net/G1036583997/article/details/9630037

1. (1->2) 把第一个窗体中的参数传递给第二个窗体

把第二个窗口写个带参数的构造函数,用参数给变量赋值,或者把这变量声明为静态的,直接赋值


Form2中
string strText="";//你要赋值的变量
public Form2(string text)
{
strText=text;
}
Form1中
Form2 form2=new Form2(textBox1.text.trim());
form2.show();


2. (1<-2)把第二個窗體的參數傳遞給第一個窗體

第一個窗體代碼:

public partial class Form1 : Form
{
public string str;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.ShowDialog(); //必須使用ShowDialog()函數,否則不能正常進行參數傳遞
this.str = f.str;
label1.Text = str;
}
}
第二個窗體代碼:
public partial class Form2 : Form
{
public string str, str1, str2;

public Form2()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
str1=textBox1.Text;
str2 = textBox2.Text;
str = str1 + str2;

}
需要設置Form2的button的DialogResult為OK


3. (1<->2) C#窗體之間參數互傳(第一個傳第二個、第二個傳第一個都可以)

比如说form1上有一个button1,Form2上有一个textBox1和一个button1。

扫描二维码关注公众号,回复: 1899055 查看本文章

Form1

class Form1:Form
{
public string Str;
private void button1_Click(object sender, EventArgs e)
{
Form2 f2=new Form2();
f2.f1=this;
f2.show();
}
}

Form2
class Form2:Form
{
public Form1 f1;
private void button1_Click(object sender, EventArgs e)
{
f1.Str=this.textBox1.Text;
}
}

猜你喜欢

转载自www.cnblogs.com/xfbx/p/9271469.html