2012-04-04 25 views
1

好吧,所以我有一個數據庫項目爲我的數據庫類。我有一個在MySQL中製作的數據庫,並正在使用C#編寫我的應用程序。數據庫基本上只是一個零件數據庫,在4NF中由零件,關係表,構建,客戶和訂單表組成,因爲這是基於客戶的計算機構建數據庫。我對數據庫的設計方式沒有任何問題,但我想知道我應該如何爲我的GUI做這樣的事情。如何使用按鈕偵聽器(基本上)使C#UI刪除Panel Controls?

我現在有它的標籤設置,每個選項卡是在構建所需的一部分,但我不喜歡它的樣子。有沒有一種方法,我可以有Next和Previous按鈕,併爲每個部分有一個窗格,並通過它們的一步?我對C#有點新,並且正在努力學習。建議?

編輯:我想我應該說清楚,我正在查看可能使用面板並切換它們,使用Next和Previous按鈕相對使用製表符並遍歷這些。

EDIT2:我沒有想出一個辦法,通過改變視圖到一個新的面板做,但我想出如何動態地添加/刪除數據做到這一點。 這是我想要的 - 一種方法來存儲面板中所需的按鈕,標籤和所有其他控件,並且能夠通過單擊按鈕來更改在窗體中查看的面板。

+0

這是一個WinForms應用程序,或ASP.NET(或者甚至可能是WPF,我想)? – David 2012-04-04 21:44:37

+0

@David Stratton - WinForm,是的。 – snotyak 2012-04-04 21:45:38

回答

0

我成功地實現了我想要的。我爲每個需要的計算機部件的每個屏幕提供每個佈局的類。這個類是Panel的一個子類。所有這些Panel子類都在它們內部進行控制(按鈕,文本框,標籤等),每個Panel的索引都存儲在每個類的變量中。這些變量表示您正在查看的「頁面」以及關於您當前位置的下一個/上一個頁面。然後,我失蹤的主要事情是z順序。要做下一個/上一個按鈕時更改Z順序,我使用以下內容:

Controls.SetChildIndex(PartLayout,0); //this sets the PartLayout Panel (Extended) 
             //to the 0 index or the front/visible layer 

基本上就是這樣。我還沒有真正實現我特別想要的東西,但我已經完成了一個測試文件,並得到它做我想要的。謝謝大家的幫助!

4

我沒有給你一個完整的答案,但我有一個建議。

有一些很不錯的視頻和教程在windowsclient.net/learn/videos.aspx他們大多是短構建數據訪問形式,重要的是,和非常有用的。我會看幾個,看看有沒有看起來有趣。

隨着你正在談論「分頁」的「下一個/上一個」按鈕。我不知道如何在WinForms中做到這一點,但這將是我期待的第一個地方。

+0

謝謝。我以爲我可以使用每個部分(和最後一個部分)的面板來做到這一點,併爲每個部分設置下一個/上一個按鈕的監聽器,以將活動的面板更改爲下一個/上一個。 – snotyak 2012-04-04 21:50:24

0

您可以很容易地擁有上一個/下一個按鈕。我將它們放在TabControl之外(這樣你就不會重複它們),然後讓它們的處理程序簡單地遞增或遞減TabControl的SelectedIndex屬性。

編輯:你知道你可以讓標籤看起來不像標籤嗎?例如,您可以將Appearance屬性設置爲TabAppearance.Buttons,而「選項卡」則會呈現爲按鈕,這會使選項卡行更像麪包屑控件。

您還可以使用面板重疊的形式,並調用小組的BringToFront()方法中的你想要的頁面。

+0

謝謝,但我正在尋找使用選項卡的替代方法。 – snotyak 2012-04-04 21:59:40