1. 程式人生 > >C#中兩個Form視窗之間的傳值(父->子)(子->父)

C#中兩個Form視窗之間的傳值(父->子)(子->父)

首先定義兩個Form,一個為Form1,一個為Form2,其中Form1作為父視窗,Form2作為子視窗

1、父視窗傳值給子視窗

      Form1中程式碼:

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 lForm = new Form2();//例項化一個Form2視窗
            lForm.String1 = "傳值給子視窗Form2成功";//設定Form2中string1的值
            lForm.SetValue();//設定Form2中Label1的
            lForm.ShowDialog();
        }

      Form2中程式碼:

        private string string1;
        public string String1
        {
            set
            {
                string1 = value;
            }
        }

        public void SetValue()
        {
            this.label1.Text = string1;
        }

        public Form2()
        {
            InitializeComponent();
        }

2、子視窗返回值給父視窗

     Form1中程式碼:

        public Form1()
        {
            InitializeComponent();
        }

        private string strValue;
        public string StrValue
        {
            set
            {
                strValue = value;
            }
        }

        private void btnShowForm2_Click(object sender, EventArgs e)
        {
            Form2 lForm = new Form2();
            lForm.Owner = this;//重要的一步,主要是使Form2的Owner指標指向Form1
            lForm.ShowDialog();
            MessageBox.Show(strValue);//顯示返回的值
        }

       From2中程式碼:

        public Form2()
        {
            InitializeComponent();
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            Form1 lForm1 = (Form1)this.Owner;//把Form2的父視窗指標賦給lForm1
            lForm1.StrValue = "子視窗Form2返回數值成功";//使用父視窗指標賦值
            this.Close();
        }

相關推薦

C#Form視窗之間->->

首先定義兩個Form,一個為Form1,一個為Form2,其中Form1作為父視窗,Form2作為子視窗 1、父視窗傳值給子視窗       Form1中程式碼:         public Form1()         {             Initialize

在JSP使用el標籤傳遞(jsp頁面之間)

要在JSP中傳遞值,一般用java程式碼就可以實現,但是在前臺中一般儘量是不出現java程式碼的,所以要配合使用EL標籤來,獲取值,保證兩個jsp頁面之間的值傳遞,我先是在sevrlet伺服器端,使用

MFC不同視窗之間的資料互動

從MFC的一個視窗A控制元件中得到的資料要在另一個視窗B中進行顯示,首先要確保控制元件的資料儲存的變數在這兩個控制元件中都能使用,一般建議將該變數設為全域性變數。然後要將在A視窗的.CPP檔案中新增顯示函式即可。 1.全域性變數的設定: 建議個人最好自己建立一個”Gl

C#視窗怎麼傳遞引數?或者怎麼使用另一個視窗的控制元件呢?

在主視窗中開啟一個新的視窗,怎麼傳遞引數呢?這個新視窗怎麼呼叫舊的視窗的控制元件呢? 假如主視窗是Form1,新視窗是Form2。首先新增引用:using System.Windows.Forms; class Form1:Form { public Form1()

c++類互相引用的問題

pro 如何 ++ code 泛型 cin padding 直接 fine 原文鏈接http://www.cnblogs.com/weixliu/p/3957227.html   最近在改一個C++程序的時候碰到一條警告信息,警告信息為:“

C++常用的控制語句格式的函式width和precision函式

width 語法: int width(); int width( int w ); 函式 width()返回當前的寬度。可選擇引數w用於設定寬度大小。寬度是指每一次輸

CSS,class類之間有空格和沒空格的區別是什麼?

CSS中定義CLASS時,中間有空格和沒空格的區別是什麼? .example .pp{ color: orange; } .example.pp2 { color: green; } 如上面的兩個定義一個是中間有空格,一個是中間沒空格。 第一個

C++類互相引用的解決方法

轉載自  ---》 https://blog.csdn.net/xiqingnian/article/details/41214539一、問題描述現在有兩個類A和B需要定義,定義A的時候需要用到B,定義B的時候需要用到A。二、分析A和B的定義和呼叫都放在一個檔案中肯定是不可以

C++類相互包含引用問題

在構造自己的類時,有可能會碰到兩個類之間的相互引用問題,例如:定義了類A類B,A中使用了B定義的型別,B中也使用了A定義的型別 class A { int i; B b; } class B { int i; A* a; } 請注意上面的定義內容,一般情況下是不能出現類A,

MFC對話方塊之間資料傳遞

這裡有兩種情況, 第一種情況是: (在一個基於單文件的應用程式中,新建了兩個對話方塊A和B,並且用兩個獨立的類和他們關聯) 對話方塊A中有一個編輯框, 按下A中的一個按鈕a後彈出對話方塊B, B中也有一個編輯框b, 在B中輸入資料 點選確定(ID0K)後 ,b中的資料能

iframe互相呼叫及iframe父子視窗呼叫

jQuery、js呼叫iframe父視窗與子視窗元素的方法 1. jquery在iframe子頁面獲取父頁面元素程式碼如下: $("#objid",parent.document) 2. j

c語言==結構體之間的相互呼叫17

指向結構體型別變數的使用 首先讓我們定義結構體: struct stu { char name[20]; long number; float score[4]; } ; 再定義指向結構體型別變數的指標變數: struct stu *p1, *

C++類互相包含

今天突然想起一個C++的問題,如果一個類A包含類B的例項,而例項B也包含另一個類A,這種方式的程式碼應該怎麼寫,按照一般的開發者的想法的程式碼如下: 檔案A.h #include "B.h" #include <iostream> usin

c++類的標頭檔案互相包含編譯出錯的解決辦法

首先我們需要問一個問題是:為什麼兩個類不能互相包含標頭檔案? 所謂互相包含標頭檔案,我舉一個例子:我實現了兩個類:圖層類CLayer和符號類CSymbol,它們的大致關係是圖層裡包含有符號,符號裡定義一個相關圖層指標,具體請參考如下程式碼(注:以下程式碼僅供說明問題,不作為

C++##(井號)和#(一個井號)用法

C(和C++)中的巨集(Macro)屬於編譯器預處理的範疇,屬於編譯期概念(而非執行期概念)。下面對常遇到的巨集的使用問題做了簡單總結。 關 於#和## 在C語言的巨集中,#的功能是將其後面的巨集引數進行字串化操作(Stringfication),簡單說就是在對它所引用的巨

[轉] 靜態html頁面方法的總結

問題 因最近嘗試實現客戶端與服務端分離,服務端只提供介面,客戶端用html+js實現,分成兩個獨立的專案部署,因專案是個人專案,客戶端展示不考慮使用像Angular、Vue、Native這種前端框架實現,於是全部使用靜態頁面實現,請求資料用ajax,在開發的過程中,就遇到了頁面之間傳

靜態頁面之間問題

第一種 使用 cookie (http://plugins.jquery.com/cookie/,到這裡先下載 jquery.cookie.js 檔案引入頁面 ) 存://將值儲存到cookie 中        &nb

如何在jsp頁面之間傳遞

1.通過js 在指令碼中通過localStorage傳值 程式碼如下: a.jsp 傳遞 <script> function show(event) { var x=eve

html頁面之間傳遞的方法

最近做專案,好多頁面需要傳遞值。現在我用了以下的方法。感覺很好用。 1、利用頁面連結傳遞,用?號連結,不過這樣傳遞中文會麻煩些,數字挺方便的。 頁面一: <script> functio

C#使用Webbrowser控制元件如何

在使用Winform開發時,需要用到Webbrowser控制元件用來展示頁面,如何將控制元件的值傳給頁面呢? 一. 對於少量引數值,可以在url地址中加入需要傳輸的值。前臺頁面js解析url地址引數即可 //C#程式碼,傳輸使用者ID為80的值給test