AB窗體互傳引數本質

2022-04-26 04:51:17 字數 1515 閱讀 9471

一.找了好幾個,都不靠譜,不是說不靠譜,自己感覺太繁瑣,根本就是本窗體的屬性(物件)的傳遞,1例項化2把例項化後的窗體屬性=本窗體的物件

1父傳子,直接在子窗體的建構函式中傳遞(當然你也可以在的父傳子的時候在父窗體中新建屬性,個人認為比較麻煩,然後你再例項化父窗體呵呵,既然子窗體有現成的初始化程式為什麼不用呢)

2子傳父視窗,也是在引用的時候,但要在子窗體中新建屬性,這屬性的傳遞有兩個時間

1,父窗體中例項化子窗體,然後直接讀取子窗體的屬性,即子窗體不出現(意義不大)

2父窗體中例項化子窗體,子窗體顯示,輸入引數,然後傳給父窗體,這又有兩個時間 

第二時間關閉的時候就直接傳遞過來這又有兩種情況你可以在主窗體中新增if(「子窗體的」.showdialog()=dialogresult.ok)來判斷(反正必須有事件觸發),第二時間和子視窗不關閉傳遞差不多

總結:主要是子傳父,微軟已經提供了在父視窗得到子視窗關閉後的傳遞引數的方法,你就用吧,不要再弄什麼觸發事件了(除非你另有用途當我沒說)

下面附一些**直接考的自己琢磨去吧呵呵

form1的**:

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

windowtowindow

private

void button1_click(object

sender, eventargs e)

}private

void form1_load(object

sender, eventargs e)

}}form2的**:

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.text;

using

system.windows.forms;

namespace

windowtowindow

}public

form2()

private

void form2_load(object

sender, eventargs e)

private

void button1_click(object

sender, eventargs e)

}}

python qt5父窗體和子窗體互傳資料方法

父窗體 class parentwin def open set window self set win childwin self 連線 子視窗自定義訊息和主視窗槽函式 子窗體向父窗體傳引數,定義子元件方法 set win.dialogsignel.connect self.change para...

WebService 測試,引數本身就是XML

這段時間天天測 webservice 測得真想吐。webservice的測試方法,如果webservice中呼叫的方法需輸入的引數本身就是個xml檔案時 引數檔案格式 98d93b3c88cb471881493a1ddcb67d1e test batch id 10 batchid 4037009 ...

winfrom 控制窗體間相互傳遞資料

方法一 在子窗體中自定義乙個建構函式,引數型別是主窗體,當要顯示子窗體的時候,就用這個建構函式來例項化子窗體,然後把this指標傳進去。如下 主窗體.cs public class frmmain form 複製 子窗體.cs 子窗體.cs public class frmcontrol form ...