程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 兩窗體直接傳參數的四種方法講解

C# 兩窗體直接傳參數的四種方法講解

編輯:C#入門知識

實現兩個窗體直接傳參數的方法很多,感覺挺難,其實真正的做了,也沒有那麼難。

傳參數

方法一:把控件聲明成為public的。

方法二:借助一個中間類來實現。

方法三:用public static聲明要傳送的變量

方法四:用構造函數傳。

一般這四個方法就夠了。

例子

如我做過的一個進銷存軟件,進貨的時候要從貨物信息中取得貨物編號(用戶不能輸入編號)。而貨物信息是另一個窗體,怎麼實現點擊獲得 貨物編號按鈕(在進貨窗體中) 彈出貨 物信息窗體,然後從 貨物信息窗體 選擇要進的貨物後返回給 進貨窗體 呢?

假設進貨窗體是 purchase.cs

貨物窗體是 material.cs

在purchase.cs窗體的 獲得 貨物編號按鈕 單擊事件中寫入如下代碼:

            material m = new material();
            m.ShowDialog();
            if (m.DialogResult == DialogResult.OK)
            {
                txtinmid.Text = m.getmid;

                 //getmid是material的一個構造函數,txtinmid是purchase.cs中顯示 貨物編號 的文本框

                m.Close();
            }
            GetbaseMaterialinfo();//自己的一個方法

然後在material.cs窗體中寫入如下代碼。

        public material()//默認的構造函數
        {
            InitializeComponent();
        }
        public string getmid//就是這個了。
        {
            get
            {
                return dgvmaterial.Rows[dgvmaterial.CurrentRow.Index].Cells[1].Value.ToString();
            }
        }

這是激活方法(我的是雙擊datagridview行)

private void datagridview_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            this.DialogResult = DialogResult.OK;
        }

這樣purchase.cs窗體的顯示貨物編號按鈕就可以獲得你選定的商品了。簡單吧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved