作者deo2000 (800IM)
看板C_and_CPP
標題[問題] .Net視窗程式 介面與實作分開問題
時間Tue Apr 2 23:55:35 2013
我是初學.Net UI程式設計的新手,
最近寫了一個UI程式,可以接收rs232的訊號畫波形圖,
http://imgur.com/prKO8ul
為了熟悉.Net架構,用 VB.net C# C++ 三種語言都寫了一個相同程式,
都能正常執行,但架構似乎不好,怕程式越寫越大會有問題。
C++ 會有 Form.h 和 main.cpp
C# Form.cs Program.cs
Form.h(.cs)應該寫的是介面觸發的各種事件,不應該把核心部分寫在這裡,
但是我卻把所有程式都寫在 Form.h(.cs),包括像是繪圖和rs232通訊的一些細節。
因為,我不知道如何在 Form.h(.cs) 呼叫 main.cpp(Program.cs) 中的函式,
也不知道如何在 main.cpp(Program.cs) 呼叫 Form.h(.cs) 底下的物件成員。
簡單來說就是這樣
Form.h
Form.cs <- 介面和實作通通寫在這裡
main.cpp
Program.cs <- 完全沒有自己寫的code,都IDE自動產生的那些
像是繪圖的實作程式共有50行,我都放在 TimerPeriod_Tick() 當中,
但照理說,這50行繪圖實作細節,應該放在 Draw() 當中
讓 TimerPeriod_Tick() 定時呼叫才對
可是我卻不知道如何在 Form.h 中呼叫 main.cpp 的東西 (include"main.cpp"好像很怪)
請問這樣該怎麼辦?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.45.134
※ 編輯: deo2000 來自: 140.122.45.134 (04/03 00:07)
→ loveme00835:開 Console 應用程式寫一遍, 分不同的 translation 04/03 00:53
→ loveme00835:unit, 之後再改寫一個有 Window From 的版本會比較好 04/03 00:53
→ loveme00835:一開始練習就接觸 UI 很難做好分離 04/03 00:54
可是 serialPort 和 Timer 是 UI 下才有的物件,怎麼辦?
※ 編輯: deo2000 來自: 140.122.165.222 (04/03 03:01)
→ EdisonX:你的 serial-port都用他的??那就真的不好分了 @@ 04/03 12:44
→ EdisonX:實體資料,資料處理部份獨立出來,Timer應只對實體資料繪圖. 04/03 12:46
→ EdisonX:講錯,繪圖開一支 Thread.作法其實還蠻多的 04/03 12:47
→ leiyan:剪下貼到你要的地方再include 04/03 16:14