国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

Winform窗體傳值的方法(示例)

2020-01-24 01:34:11
字體:
供稿:網(wǎng)友

進行用C#來開發(fā)windows應用程序項目時,不同窗口之間傳值有很多種不同的方法, 假設(shè)項目中有兩個窗體,F(xiàn)orm1和Form2,要實現(xiàn)的效果是:點擊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的構(gòu)造函數(shù)將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()  {  //通過構(gòu)造方法將Form對象給Form字段賦值  form = form;  }  private void button_Click(object sender, EventArgs e)  {  //隨機改變Form的背景顏色  form.BackColor = Color.FromArgb(r.Next(),r.Next(),r.Next());  } }

示例二:

假設(shè)項目中有兩個窗體,F(xiàn)orm1和Form2,要實現(xiàn)的效果是點擊Form1中的Button1按鈕實現(xiàn)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))//關(guān)于TryParse的使用方法,見補充知識。  {  sum = a + b;  frm2.STR = sum.ToString();  frm2.ShowDialog();  }  else  {  frm2.STR = "輸入的為非數(shù)字型字符串";  frm2.ShowDialog();  } }

大功告成,在你的機子上運行下,是不是成功了?

 補充知識:
parse,tryparse區(qū)別
Convert.ToInt32,int.Parse(),int.TryParse,(int) 四者都可以解釋為將類型轉(zhuǎn)換為 int,那它們的區(qū)別是什么呢?
Convert.ToInt32 與 int.Parse 較為類似,實際上 Convert.ToInt32 內(nèi)部調(diào)用了 int.Parse:
Convert.ToInt32 參數(shù)為 null 時,返回 0;
int.Parse 參數(shù)為 null 時,拋出異常。
Convert.ToInt32 參數(shù)為 "" 時,拋出異常;
int.Parse 參數(shù)為 "" 時,拋出異常。
Convert.ToInt32 可以轉(zhuǎn)換的類型較多;
int.Parse 只能轉(zhuǎn)換數(shù)字類型的字符串。
int.TryParse 與 int.Parse 又較為類似,但它不會產(chǎn)生異常,轉(zhuǎn)換成功返回 true,轉(zhuǎn)換失敗返回 false。最后一個參數(shù)為輸出值,如果轉(zhuǎn)換失敗,輸出值為 0。

復制代碼 代碼如下:

int m;
if(int.TryParse("2"),out m)
{
...
}

返回true ,運行{}內(nèi),并給m賦值為2;
 

復制代碼 代碼如下:

if(int.TryParse("ddd"),out m)
{
...
}

返回false,不運行if{}內(nèi),并給m賦值為0;
使用Parse和TryParse轉(zhuǎn)換數(shù)字字符串
基本數(shù)字類型包含Parse和TryParse方法,可用于將數(shù)字字符串轉(zhuǎn)換為指定的數(shù)字類型,例如:

 TryParse方法是.NET2.0中引入的,它能提供有條件的解析。這個方法會返回一個布爾值,以指示解析是否成功,從而可以免去添加異常處理代碼的麻煩。下面的例子使用了一個Int32類型來演示TryParse的兩種形式:

 

在第二種形式中,第一個參數(shù)是要解析的文本字符串,第二個參數(shù)是NumberStyles枚舉類型,它說明了輸入字符串中可能包含的內(nèi)容,返回值將放在第四個參數(shù)中返回。

 以上就是Winform窗體傳值的方法(示例),希望對大家有所幫助。

 

 

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍溪县| 洛川县| 湖南省| 深圳市| 宁武县| 潮州市| 商河县| 尖扎县| 宣汉县| 囊谦县| 湄潭县| 滦南县| 青冈县| 敖汉旗| 达州市| 肃北| 永寿县| 曲靖市| 延吉市| 阳朔县| 乳山市| 福海县| 阜新| 荔浦县| 舞钢市| 阿勒泰市| 武穴市| 乌兰浩特市| 西吉县| 二连浩特市| 宜兴市| 弋阳县| 阿拉善左旗| 宁安市| 壶关县| 井研县| 泰来县| 易门县| 安阳市| 兴化市| 加查县|