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窗體傳值的辦法(示例),願望對年夜家有所贊助。