Winform窗體傳值的辦法(示例)。本站提示廣大學習愛好者:(Winform窗體傳值的辦法(示例))文章只能為提供參考,不一定能成為您想要的結果。以下是Winform窗體傳值的辦法(示例)正文
停止用C#來開辟windows運用法式項目時,分歧窗口之間傳值有許多種分歧的辦法, 假定項目中有兩個窗體,Form1和Form2,要完成的後果是:點擊Form1中的按鈕翻開From2,點擊Form2中的按鈕轉變窗體Form1的配景色彩。
示例一:
點擊Form1中的按鈕翻開From2,點擊Form2中的按鈕轉變窗體Form1的配景色彩。
Form1的代碼:
public partial class Form : Form
{
public Form()
{
InitializeComponent();
}
private void button_Click(object sender, EventArgs e)
{
//經由過程Form的結構函數將Form對象傳遞到Form中
Form form = new Form(this);
form.Show();
}
}
Form2的代碼:
public partial class Form : Form
{
//起首在Form中界說Form類型字段用來存儲Form對象
Form form=null;
Random r = new Random();
public Form()
{
InitializeComponent();
}
public Form(Form form):this()
{
//經由過程結構辦法將Form對象給Form字段賦值
form = form;
}
private void button_Click(object sender, EventArgs e)
{
//隨機轉變Form的配景色彩
form.BackColor = Color.FromArgb(r.Next(),r.Next(),r.Next());
}
}
示例二:
假定項目中有兩個窗體,Form1和Form2,要完成的後果是點擊Form1中的Button1按鈕完成TextBox1和TextBox2中的值相加,然後把這個相加的值傳遞給Form2中的TextBox1,並在TextBox1中顯示出這個和值。

經由過程為窗體類寫屬性來傳遞值
(1),在被傳遞值的窗體(這裡是Form2)類外面寫屬性
private string str;//界說的公有變量
public string STR//為窗體Form2界說的屬性
{
get //讀
{ return str;
}
set//寫
{
str = value;
}
}
(2),在Form2中把讀到的屬性賦給Form2中的TextBox1文本框
private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = str;
}
(3),在Form1中的Button1的Click點擊事宜中寫以下代碼
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
int a, b, sum;
if (int.TryParse(textBox1.Text, out a) && int.TryParse(textBox2.Text, out b))//關於TryParse的應用辦法,見彌補常識。
{
sum = a + b;
frm2.STR = sum.ToString();
frm2.ShowDialog();
}
else
{
frm2.STR = "輸出的為非數字型字符串";
frm2.ShowDialog();
}
}
年夜功樂成,在你的機子上運轉下,是否是勝利了?
彌補常識:
parse,tryparse差別
Convert.ToInt32,int.Parse(),int.TryParse,(int) 四者都可以說明為將類型轉換為 int,那它們的差別是甚麼呢?
Convert.ToInt32 與 int.Parse 較為相似,現實上 Convert.ToInt32 外部挪用了 int.Parse:
Convert.ToInt32 參數為 null 時,前往 0;
int.Parse 參數為 null 時,拋出異常。
Convert.ToInt32 參數為 "" 時,拋出異常;
int.Parse 參數為 "" 時,拋出異常。
Convert.ToInt32 可以轉換的類型較多;
int.Parse 只能轉換數字類型的字符串。
int.TryParse 與 int.Parse 又較為相似,但它不會發生異常,轉換勝利前往 true,轉換掉敗前往 false。最初一個參數為輸入值,假如轉換掉敗,輸入值為 0。
int m;
if(int.TryParse("2"),out m)
{
...
}
前往true ,運轉{}內,並給m賦值為2;
if(int.TryParse("ddd"),out m)
{
...
}
前往false,不運轉if{}內,並給m賦值為0;
應用Parse和TryParse轉換數字字符串
根本數字類型包括Parse和TryParse辦法,可用於將數字字符串轉換為指定的數字類型,例如:

TryParse辦法是.NET2.0中引入的,它能供給有前提的解析。這個辦法會前往一個布爾值,以指導解析能否勝利,從而可以避免去添加異常處置代碼的費事。上面的例子應用了一個Int32類型來演示TryParse的兩種情勢:
在第二種情勢中,第一個參數是要解析的文本字符串,第二個參數是NumberStyles列舉類型,它解釋了輸出字符串中能夠包括的內容,前往值將放在第四個參數中前往。
以上就是Winform窗體傳值的辦法(示例),願望對年夜家有所贊助。