![主窗體向子窗體傳遞數(shù)據(jù)_第1頁](http://file4.renrendoc.com/view/1c4779933c0b8bd98cc346fb1b0471f6/1c4779933c0b8bd98cc346fb1b0471f61.gif)
![主窗體向子窗體傳遞數(shù)據(jù)_第2頁](http://file4.renrendoc.com/view/1c4779933c0b8bd98cc346fb1b0471f6/1c4779933c0b8bd98cc346fb1b0471f62.gif)
![主窗體向子窗體傳遞數(shù)據(jù)_第3頁](http://file4.renrendoc.com/view/1c4779933c0b8bd98cc346fb1b0471f6/1c4779933c0b8bd98cc346fb1b0471f63.gif)
![主窗體向子窗體傳遞數(shù)據(jù)_第4頁](http://file4.renrendoc.com/view/1c4779933c0b8bd98cc346fb1b0471f6/1c4779933c0b8bd98cc346fb1b0471f64.gif)
![主窗體向子窗體傳遞數(shù)據(jù)_第5頁](http://file4.renrendoc.com/view/1c4779933c0b8bd98cc346fb1b0471f6/1c4779933c0b8bd98cc346fb1b0471f65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
C#主子對話框數(shù)值傳遞在C#winform編程中,我們經(jīng)常會遇到不同窗口間需要傳遞數(shù)值的問題■比如數(shù)據(jù)庫的應(yīng)用注窗口填寫內(nèi)容numl,點擊按鈕,在彈出的子窗口顯示對應(yīng)numl值;或者在子窗口填寫新注冊用戶名信息,在主窗口的dataGridView動態(tài)變化顯示著新添加\修改的值;或者在修改信息時,輸入用戶編號”000001曜對應(yīng)textBox中它的相應(yīng)數(shù)據(jù)■顯示如下圖所示:用戶信息管理員工信息員工信息真實姓名0M0014-djTiitl王二iiiriirLLstFatfl000002FTirTilTifTifTini:=jL:igt!r□000031李前E:員工信息員工信息真實姓名0M0014-djTiitl王二iiiriirLLstFatfl000002FTirTilTifTifTini:=jL:igt!r□000031李前E:=ileE用戶嵋號用戶名員工詳細(xì)信息登出弟憶改:員工信艮憶改:員工信艮000001000001輸入員工輸入員工00000120000012以上應(yīng)用都涉及到如何在兩個不同窗口間傳遞數(shù)值,并實現(xiàn)動態(tài)的更新,下面就介紹我請教同學(xué)學(xué)到的一種主子對話框數(shù)值傳遞的知識,僅供大家學(xué)習(xí)!它是非?;A(chǔ)的C#winform知識,但也是非常有用的知識.一■建立主子對話框
回CfL-i-liflLln'Ibuttonl點擊主窗體中的"提交"按鈕,回CfL-i-liflLln'Ibuttonl點擊主窗體中的"提交"按鈕,填寫如下代碼就可實現(xiàn)在主窗體中調(diào)用子窗體的應(yīng)用.它是在實例一個"Sub”的子窗體并顯示.它的運行結(jié)果就是當(dāng)用戶點擊"提交"按鈕時就會彈出子對話框Form2,這就建立了C#主子對話框之間調(diào)用的關(guān)系.首先建立一個”Windows窗體應(yīng)用程序”,然后主窗體Forml的界面如下圖,然后添加一個子窗口,右鍵"解決方案"中項目名稱,點擊”添加”,新增一個"Windows窗體應(yīng)用程序”,其中名稱為"Form2.cs"界面設(shè)計如下圖所示:主窗口輸入內(nèi)容textBoxIFormlForm21=1 s顯示主窗體內(nèi)容textBoxI[csharp]viewplaincopy//點擊”提交”按鈕privatevoidbutton1_Click(objectsender,EventArgse){Form2Sub=newForm2();Sub.Show(); //顯示子對話框內(nèi)容}二主對話框傳值給子對話框下面需要介紹如何在子對話框中顯示主對話框中提交的內(nèi)容,點擊Form2空白處,生成一個Load事件,添加如下代碼,它的具體意思是:在子對話框"Forml”中聲明主對話框"Form2”,然后在Form2的構(gòu)造函數(shù)中給pall賦值pall=f1洞時在載入Load事件中把”Form2"子對話框中的textBoxI賦值為主對話框中提交的值.[csharp]viewplaincopypublicpartialclassForm2:Form{//實例主窗體Formlpall=new Form1();//構(gòu)造函數(shù)修改publicForm2(Form1f1)TOC\o"1-5"\h\z{InitializeComponent();pall=f1;}//載入private void Form2_Load(object sender,EventArgse){textBox1.Text=pall.textBox1.Text;}}上面僅僅修改了子對話框中的內(nèi)容,同時需要修改主對話框中的內(nèi)容:1.把主對話框”Form1"中的textBoxI控件設(shè)置為public.如下圖所示.因為默認(rèn)為Private(私有),只能在自己對話框和函數(shù)中修改,其他對話框要使用必須設(shè)置為public.
textBoxISystem.Windows.Fo-rm&.TextBoxTShortcut^EnabledTrueTsblndex1TabStopTrueUseSys-temPas&wordCFalseVisibleTrueW&rdWrapTrue日Csuses-VaiidationtextBoxISystem.Windows.Fo-rm&.TextBoxTShortcut^EnabledTrueTsblndex1TabStopTrueUseSys-temPas&wordCFalseVisibleTrueW&rdWrapTrue日Csuses-VaiidationTrue□可紡趣AgcsssibleDescription1代諾呼允普貝./Eastmoiir>iAccessibl^Rol&default日ffiit[NameJtextB&xlGenerateMemberTrueLockedFal&eModifiersPublic Q曰sasPublicEJ(.ApplicationSettingsJProtectedS(DatsEindings)ProtectedInterna1Tag1nterna1日外觀PrivateBackColorWindow[csharp]viewplaincopy.5.6.//.5.6.privatevoidbutton1_Click(objectsender,EventArgse){Form2Sub=newForm2(this);Sub.Show(); //顯示子對話框內(nèi)容}最后的運行結(jié)果如下圖所示
三■子對話框值修改主對話框亦更新實現(xiàn)子對話框中修改值注對話框中的值也修改的動態(tài)更新,這能應(yīng)用到很多實際項目中,比如主窗體顯示庫存信息,子窗體新加\刪除\修改商品信息時,主窗體也要修改.首先方法同上,建立主子對話框,界面如下:總結(jié)下來就是3個步驟:1.主窗體Forml中調(diào)用子窗體Form2Form2fn2=newForm2:fn2.Show設(shè)置Forml中的textBoxI為public公有屬性■同樣的道理,如果想顯示Forml中的其他控件(如dataGridView)、自定義變量或函數(shù),只需要它聲明為public即可子調(diào)用.在Form2子對話框中實例一個Form1主對話框,并直接對其主窗口進行修改.需要修改Form2的構(gòu)造函數(shù)來調(diào)用Forml的public內(nèi)容.其中Form2的代碼如下,與上面中不同的是把主對話框中textBoxI賦值即可.[csharp]viewplaincopy1?publicpartialclassForm2:Form2.{Formlpall=newForm1();publicForm2(Form1f1)TOC\o"1-5"\h\z{InitializeComponent();pall=f1;}//點擊”提交”內(nèi)容顯示到主窗口private void button1_Click(object sender, EventArgs e){pall.textBox1.Text=textBox1.Text;}}運行結(jié)果如下:hj Forml -口囁 Farm2-口■S顯示內(nèi)容 123:1 揑交顯示到主窗口內(nèi)容123r_■■Q丄i.b?1:_1.5C111■點擊[匸Tf LlTiOUriI 四.總結(jié)最后在主子對話框中傳遞數(shù)值的方法還有很多,比如使用Static定義或使用委托,在子窗體的構(gòu)造函數(shù)中添加兩個委托,一個用于調(diào)用主窗體給子窗體傳值的方法,一個調(diào)用子窗體給主窗體傳值的方法.即可實現(xiàn)兩個窗體間數(shù)據(jù)交互.在CSDN論壇中我也見到一些這樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度光纖布線施工環(huán)保責(zé)任承諾合同
- 2025年度兒童口罩定制生產(chǎn)與供應(yīng)鏈管理合同
- 2025年度國際文化創(chuàng)意產(chǎn)業(yè)合作合同集
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心運維服務(wù)合同范本
- 2025年度新能源項目居間合同示范文本
- 2025年度二手房買賣合同含交房保證金及物業(yè)費代繳服務(wù)
- 2025年度光伏發(fā)電項目光伏農(nóng)業(yè)園區(qū)建設(shè)與施工合同
- 2025年度物流設(shè)備租賃與維護服務(wù)合同
- 2025年度文化創(chuàng)意產(chǎn)品開發(fā)合同范本
- 2025年度新能源汽車零部件銷售合同范本
- 關(guān)于防范遏制礦山領(lǐng)域重特大生產(chǎn)安全事故的硬措施課件
- 2025年中國成都餐飲業(yè)市場運營態(tài)勢分析及投資前景預(yù)測報告
- 2024年xx縣第三小學(xué)安全工作管理制度匯編
- 項目合作備忘錄范文
- 婦產(chǎn)科醫(yī)生個人年終述職報告課件
- 《費曼學(xué)習(xí)法》讀后感
- 趣味成語課程設(shè)計
- 鋼筋焊接工藝性試驗方案
- 2024年四川省涼山州中考物理適應(yīng)性試卷(附答案解析)
- 幼兒園師資培訓(xùn)課件【區(qū)域進階】科學(xué)區(qū)各年齡段目標(biāo)制定與投放材料:區(qū)域材料玩出新高度課件
- 人教版初中數(shù)學(xué)同步講義八年級上冊專題提升02 解分式方程與分式方程的實際應(yīng)用(30題)(原卷版)
評論
0/150
提交評論