原文地址: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。
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; } }
|
请发表评论