我正在啓動Windows桌面機器的C#應用程序。打開新窗體或編輯當前窗體
我想知道什麼是我的方案的最佳方法。
我有2個簡單的形式,其中一個將有幾個按鈕,這將是主要的開始形式。第二種形式將有一些標籤和文本字段將用掃描儀填寫。我將稍後嘗試接受來自COM端口的輸入,因此無論誰使用它都不需要選擇程序來獲得輸入。在第二種形式的最後一個文本框填充正確後,程序返回到第一種形式。
我正在考慮顯示新窗體並隱藏主窗體,但我認爲這將是一個窗口中最好的。
我對C#很新,所以這是學習最佳實踐的經驗。
謝謝
我正在啓動Windows桌面機器的C#應用程序。打開新窗體或編輯當前窗體
我想知道什麼是我的方案的最佳方法。
我有2個簡單的形式,其中一個將有幾個按鈕,這將是主要的開始形式。第二種形式將有一些標籤和文本字段將用掃描儀填寫。我將稍後嘗試接受來自COM端口的輸入,因此無論誰使用它都不需要選擇程序來獲得輸入。在第二種形式的最後一個文本框填充正確後,程序返回到第一種形式。
我正在考慮顯示新窗體並隱藏主窗體,但我認爲這將是一個窗口中最好的。
我對C#很新,所以這是學習最佳實踐的經驗。
謝謝
我不是很確定你想要什麼王的信息,但由於「我很新的C#」,我給你,我想我會需要知道什麼時候信息我對「C#非常陌生」。
我個人建議不要使用Windows窗體,並使用WPF。它允許您製作完全可定製的應用程序,並向您的應用程序添加很多功能(尤其是視覺功能),這些功能使用Forms
將無法實現。
在使用WPF
的情況下,您可能會有一個窗口和兩個單獨的UserControls
。 根據此應用程序的複雜程度,您應該考慮使用圖案,如MVVM
(http://msdn.microsoft.com/en-us/magazine/dd419663.aspx);你可能期望你的應用程序越複雜,我推薦使用它的越多。
在使用MVVM
的情況下,您的Forms
(我將它們稱爲UserControls
),都會有一些DataContext
集合。 DataContext
將是視圖(您的UserControl
)將綁定到的類。因此,您的想法是,您可能在此ViewModel
(DataContext
)中有方法使用來自COM端口的數據填充其成員,並且視圖(UserControl
)將綁定到其指示數據的DataContext
(ViewModel
)在ViewModel
。 ViewModel
也有責任通知視圖何時更新值,以便它可以顯示它。 ViewModel上的屬性也可以更新(通過綁定),以指示用戶在UserControl
上更改了某些內容。因此,例如,您的Textbox
可能會綁定到String property
,這樣當String property
更改時,將更新Textbox
。同樣,當Textbox
中的文本發生更改時,字符串屬性將被更新。這是所有可定製的。這個想法是,View
和ViewModel
之間有一個乾淨的分隔,所以東西很容易測試,並且不太可能破壞。
我不完全確定你在找什麼,但我希望這有助於!
好運
謝謝埃珀,這是一個很好的起點。我沒有考慮過WPF,所以我會研究一下 – BrinkDaDrink
我覺得Edper值得爲這個富有洞察力的入門讚不絕口! – Killingsworth
我會但沒有15個代表點 – BrinkDaDrink
你也許可以探索的TabControl,並創建兩個選項卡爲你的兩個虛擬窗口。另一個Tab(比方說Tab1)將被禁用,直到其他Tab(比方說Tab2)的輸入完成。那麼這是其他Tab(即Tab1)被啓用並準備好進行交互的時間。 – Edper