最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年08月05日 11:13:29   投稿:mrr  
C#開發(fā)windows應(yīng)用程序項(xiàng)目時(shí),不同窗口之間傳值有很多中方法,在此給大家介紹兩種比較常用的winform窗體傳值的方法,有需要的朋友可以參考下

進(jìn)行用C#來開發(fā)windows應(yīng)用程序項(xiàng)目時(shí),不同窗口之間傳值有很多種不同的方法, 假設(shè)項(xiàng)目中有兩個(gè)窗體,F(xiàn)orm1和Form2,要實(shí)現(xiàn)的效果是:點(diǎn)擊Form1中的按鈕打開From2,點(diǎn)擊Form2中的按鈕改變窗體Form1的背景顏色。

示例一:

點(diǎn)擊Form1中的按鈕打開From2,點(diǎn)擊Form2中的按鈕改變窗體Form1的背景顏色。

Form1的代碼:

 public partial class Form : Form
 {
  public Form()
  {
  InitializeComponent();
  }
  private void button_Click(object sender, EventArgs e)
  {
  //通過Form的構(gòu)造函數(shù)將Form對(duì)象傳遞到Form中
  Form form = new Form(this);
  form.Show();
  }
 }

 Form2的代碼:

public partial class Form : Form
 {
  //首先在Form中定義Form類型字段用來存儲(chǔ)Form對(duì)象
  Form form=null;
  Random r = new Random();
  public Form()
  {
  InitializeComponent();
  }
  public Form(Form form):this()
  {
  //通過構(gòu)造方法將Form對(duì)象給Form字段賦值
  form = form;
  }
  private void button_Click(object sender, EventArgs e)
  {
  //隨機(jī)改變Form的背景顏色
  form.BackColor = Color.FromArgb(r.Next(),r.Next(),r.Next());
  }
 }

示例二:

假設(shè)項(xiàng)目中有兩個(gè)窗體,F(xiàn)orm1和Form2,要實(shí)現(xiàn)的效果是點(diǎn)擊Form1中的Button1按鈕實(shí)現(xiàn)TextBox1和TextBox2中的值相加,然后把這個(gè)相加的值傳遞給Form2中的TextBox1,并在TextBox1中顯示出這個(gè)和值。

通過為窗體類寫屬性來傳遞值

(1),在被傳遞值的窗體(這里是Form2)類里面寫屬性

private string str;//定義的私有變量


 public string STR//為窗體Form2定義的屬性
 {
  get //讀
  { return str;
  }
  set//寫
  {
  str = value;
  }
 }

(2),在Form2中把讀到的屬性賦給Form2中的TextBox1文本框
       

復(fù)制代碼 代碼如下:

private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = str;
        }

(3),在Form1中的Button1的Click點(diǎn)擊事件中寫如下代碼
       

 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的使用方法,見補(bǔ)充知識(shí)。
  {
  sum = a + b;
  frm2.STR = sum.ToString();
  frm2.ShowDialog();
  }
  else
  {
  frm2.STR = "輸入的為非數(shù)字型字符串";
  frm2.ShowDialog();
  }
 }

大功告成,在你的機(jī)子上運(yùn)行下,是不是成功了?

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

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

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

 

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

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

 

 

 

相關(guān)文章

  • C#引用類型和值類型的適用場合和區(qū)別

    C#引用類型和值類型的適用場合和區(qū)別

    今天小編就為大家分享一篇關(guān)于C#引用類型和值類型的適用場合和區(qū)別,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • C#單線程和多線程端口掃描器詳解

    C#單線程和多線程端口掃描器詳解

    這篇文章主要為大家詳細(xì)介紹了C#單線程和多線程端口掃描器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • WinForm中DefWndProc、WndProc與IMessageFilter的區(qū)別

    WinForm中DefWndProc、WndProc與IMessageFilter的區(qū)別

    這篇文章主要介紹了WinForm中DefWndProc、WndProc與IMessageFilter的區(qū)別,較為詳細(xì)的分析了WinForm的消息處理機(jī)制,需要的朋友可以參考下
    2014-08-08
  • C#Winform窗口移動(dòng)方法

    C#Winform窗口移動(dòng)方法

    今天小編就為大家分享一篇C#Winform窗口移動(dòng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • C#驗(yàn)證控件validator的簡單使用

    C#驗(yàn)證控件validator的簡單使用

    這篇文章主要介紹了C#驗(yàn)證控件validator的簡單使用方法和示例,十分的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-06-06
  • C#中is,as,using關(guān)鍵字的使用說明

    C#中is,as,using關(guān)鍵字的使用說明

    這篇文章主要介紹了C#中is,as,using關(guān)鍵字的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C#實(shí)現(xiàn)登錄窗口(不用隱藏)

    C#實(shí)現(xiàn)登錄窗口(不用隱藏)

    C#登錄窗口的實(shí)現(xiàn),特點(diǎn)就是不用隱藏,感興趣的朋友不要錯(cuò)過
    2013-11-11
  • 詳解LINQ入門(中篇)

    詳解LINQ入門(中篇)

    這篇文章主要介紹了詳解LINQ入門(中篇),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Unity實(shí)現(xiàn)物體沿自身的任意軸向旋轉(zhuǎn)

    Unity實(shí)現(xiàn)物體沿自身的任意軸向旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)物體沿自身的任意軸向旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C#實(shí)現(xiàn)最簡單的文本加密方法

    C#實(shí)現(xiàn)最簡單的文本加密方法

    這篇文章主要介紹了C#實(shí)現(xiàn)最簡單的文本加密方法,可實(shí)現(xiàn)簡單的文本加密功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

安庆市| 铁力市| 丹江口市| 陵川县| 镇安县| 大荔县| 三穗县| 凌源市| 昭觉县| 海淀区| 蓬安县| 侯马市| 德保县| 修文县| 台江县| 哈尔滨市| 昭平县| 丹江口市| 区。| 大余县| 资兴市| 兴文县| 长垣县| 腾冲县| 宝鸡市| 临高县| 石门县| 临猗县| 句容市| 卓资县| 益阳市| 绥中县| 阳东县| 芷江| 大化| 沭阳县| 察隅县| 隆林| 鹤峰县| 安新县| 马山县|