c# winform 窗體之間的傳參


說起winform程序中窗體之間的參數互傳,大家找度娘會找到很多方法:

  1、在窗體類中創建全局變量,類型為公開、靜態的;

  2、在窗體類中定義狗仔函數;

  3、通過實踐來船體參數;

  這三種思路完全來自於霖小屋的c# winform窗體之間傳遞參數問題總結,大家可以看看他的這篇博客學習學習。

 

  下面我要給大家說的一種方法相對來說有點繁瑣,但對於winform程序初學者來說絕對的受用。之前在度娘上尋找winform窗體的顯示與隱藏受到點啟發,本來winform程序創建新的窗體的時候是不帶參數的,為了能夠在關閉這個窗體打開主窗體,在創建新的窗體時傳入主窗體變量,在新建的窗體中用一個變量接收,這樣新窗體中的變量就相當於主窗體對象,就可以訪問主窗體類中定義的方法和控件的值及屬性,也可以做進一步的修改,這種方法傳值不是指主窗體中的某個變量或值,而傳值是在創建窗體的時候傳主窗體類對象,可能你們還聽得雲里霧里的,給大家附上一段代碼,大家就能明白了。

 

        private Form1 returnForm1 = null;

         public Form2(Form1 F1)
        {
            InitializeComponent();
            // 接受Form1對象
            this.returnForm1 = F1;
        } 

       private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
              //在創建窗體Form2是傳入Form1類對象,這樣就可以訪問主窗體Form1中的方法        和以及控件的值和屬性
            this.returnForm1.Visible = true;  //恢復Form1
            returnForm1.DateViewDetails();//加載運行線路信息
            returnForm1.showStation();//首末站數據加載
            returnForm1.ComboBoxDetails();//掉電恢復區comboBox數據加載
            returnForm1.showStation();//顯示首末站
        }

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM