2013-02-25 28 views
1

我正在C#中創建一個Windows窗體應用程序,我有兩種形式。用戶將要使用圖形的主要形式以及包含以下內容的另一種形式:系列外觀選項,軸選項,標籤選項等...... 當按下「工具」按鈕時將顯示此窗體。從那裏我打算讓用戶按照自己的意願修改他們的圖表。我的問題是- 當第一個窗體加載或初始化時填充第二個窗體是否更快/更好?還是隻有當按下「工具」按鈕時纔會這樣做。何時應該填充winform應用程序中的第二個表單?

回答

4

這個問題是關於急切加載(儘快加載數據)和延遲加載(需要時加載數據)之間的區別。我認爲這裏的決定應該歸結爲用戶體驗。如果數據需要一些時間才能加載,並且用戶將經常訪問屬性窗口,那麼我會建議加載。另一方面,如果加載速度很快,或者這是一個不常見的功能,那麼我會建議延遲加載。所以,你需要弄清楚你的用戶期望什麼。但是,如果屏幕的數據加載速度很快,那麼加載時幾乎沒有問題。

我還建議你重新考慮你的屬性窗口,特別是如果它要頻繁使用。這種用戶界面的範例是將PropertyGrid嵌入到大部分工作完成的相同應用程序窗口中。想想Visual Studio的許多例子,以及任何IDE風格的應用程序。他們不傾向於擁有「浮動」屬性窗口。範例是您可以顯示IDE中當前選定的任何對象的屬性,以便快速輕鬆地進行修改。單獨的工具|選項範例更適用於應用程序級別的設置,這些設置的修改頻率要低得多,並且與應用程序相關聯,而不是應用程序管理的特定對象。再次,Visual Studio就是一個很好的例子。

+0

哇,謝謝你回答我的問題。真正超出我的要求,並且非常有幫助。 – user2023068 2013-02-25 16:29:47

2

在我看來,最好在點擊適當的按鈕時創建第二個窗體的新實例。我想你應該只在需要時爲表單分配內存。

但是,如果您的表單很快加載,那麼從用戶的角度來看,只要您隱藏第二個表單直到單擊該按鈕,這應該就無關緊要。

-1
// button event in your first form (Form1) 
private void firstButton_Click(object sender, EventArgs e) 
{ 
    Form2 form2 = new Form2(); 
    form2.ShowDialog(); // Shows Form2 
} 

應該使用,因爲你可能不需要按鈕。

+0

這根本不回答問題。 OP不詢問如何打開新表單。 – AbZy 2013-02-25 16:17:31

0

在啓動時創建多個表單不是很有伸縮性。當你有20-30個表格時,需要很長時間才能加載!在需要時創建它們。

+0

雖然我同意這種情況,但我認爲這一切都歸結爲需求的特定情況。 OP說有一種形式,應該是一種「兩種方式」的情況。 – gunr2171 2013-02-25 16:21:18

相關問題