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。

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;
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM