2015-06-11 30 views
0

我被困在理解如何啓動與Application.Run(窗體)的消息循環後,我可以從內部應用程序接收數據。Application.Run(form)如何接收來自「窗體」的消息c#

我的問題是,我如何檢索消息,對象,字符串等?基本上我想讓我的內部應用程序發送一個對象到主要的winform,以便能夠使用主要的表單代碼來執行USB打印。這可能嗎?如果是的話,有人可以幫我一個非常簡單的例子,字符串printText =「你好」;並抓住主要的Winform進行處理? 對不起,我知道這不是最好的問題,但我應該能夠從那裏開始。

我的winform應用程序正在執行一些windows CE的遺留代碼,並且我正在處理的數據需要能夠打印到USB打印機。

+0

形式的顯示數據給用戶的方式,不要把它變成一個全球性的服務體系。爲此制定服務類別和單身人士。 –

+0

好吧,不是問題。但我仍然和以前一樣。我如何從兒童窗體獲取數據以對其進行操作? – Truesky

回答

1

我認爲,當你說內部應用程序,你的意思是孩子的形式。所以最好的辦法是在子表單上創建事件,這個事件將由主表單處理。所以無論何時您需要主窗體中的數據,您的子窗體都可以在事件參數中傳遞這些數據。現在你的主要形式將處理這個事件,並處理這些數據。

在主窗體

var childForm=new ChildForm(); 
childForm.DataGenerated+=DataHandler; 
childForm.Show(); 

private void DataHandler(object data) 
{ 
    //do something with data 
} 
+0

對不起,延遲迴復。我確實弄清楚它可以像那樣工作。唯一的問題是如果您在命令參數中傳遞大量數據。所以對於簡單的事情,但如果你有一個大的字符串,它可能會搞砸。在工作中我們有一個不同的解決方案,我們可以從我們所謂的狀態表中調用另一個類,它實際上允許我從單獨的構建版本(.net3.5)中的單獨項目調用它,到我們需要做的事情。 – Truesky

相關問題