狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#跨窗體操作

admin
2017年5月27日 14:57 本文熱度 7863
  C# WinForm編程中,你是否遇到過這樣的問題,在主窗口Form1中點擊按鈕,彈出一個子窗口Form2,你希望在Form2中調用Form1的函數,改變Form1的顯示,卻發現Form1不聽話,達不到預期效果。有的人說我調試了的,那段函數確實執行了,怎么還是沒有顯示呢?
 

案例1:

在winform中,我在點擊from1的一個按鈕,彈出from3執行一個函數,其實form3就是彈出一個自制的密碼輸入框但是呢。然后我再from3中調用
    if (password == PassWord)
            {
                comfirm = true;
                form1.updateMac(row, col);
                this.Close();
            }
在updateMac(row,col)中我有個dataGridView1.Rows[row].Cells[col].Style.BackColor = Color.Green;但是顏色死活不變,特別奇怪,放在form1的其他函數里就能變,就是凡在這個form3調用form1的函數里,不能變色,是為什么啊

 

案例2:

有三個窗體然后順序分別是

(1)點擊第一個窗體中的按鈕彈出第二個窗體,隱藏第一個窗體

(2)第二個窗體到一定時間彈出第三個窗體

(3)點擊第三個窗體的按鈕關閉第三個和第二個窗體,彈出第一個窗體

 

這里給大家推薦三種方法:

首先,介紹最簡單,引用傳遞,C#的類是引用類型,那么我們在打開另外一個窗體的適合將窗體實例傳遞給另外一個窗體,另外一個窗體拿到這個實例,不是就可以做很多事情了嗎?

請看C#跨窗體操作(引用傳遞)

再來一個,C#的事件都是基于委托,那么我們就可以通過委托去實現在另外一個窗體對本窗體的操作,

請看C# 委托實例(跨窗體操作控件

 最后,介紹一個比較復雜的,使用C++的API,利用消息傳遞的方式,將消息給另外一個窗體,

請看C#中使用自定義消息

 

最近,經??匆娪腥颂岢鲱愃茊栴},以前自己也研究過,不過由于自己最開始是做C++的,一開始就用了最復雜的自定義消息來實現C#中使用自定義消息。后來看了下委托,又做了委托來實現C# 委托實例(跨窗體操作控件。最后偶然想到類不是引用嗎?那干嘛不直接進行傳遞,搞那么復雜干嘛?所以有了最簡單的C#跨窗體操作(引用傳遞)

 

這兩天整理了一下,全部發了出來,今天發一個匯總貼,希望對大家有幫助,歡迎拍磚,共同進步。

 


該文章在 2017/5/27 14:57:36 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved