2010-10-05 34 views
2

這更多的是一個設計問題。設計在WinForms中動態創建按鈕/菜單

要求是有一個多個按鈕的winform。每個按鈕可以用多個按鈕打開另一個表格或打開一個功能表格,例如,添加訂單等基本上我們有菜單形式(由按鈕組成)和函數形式(應用程序提供的功能)。

因爲這是一款有多個客戶端的產品,我們需要根據客戶購買的功能來啓用/禁用/隱藏/顯示按鈕。

什麼是最好的實施這種按摩器的按摩菜單?

謝謝。

回答

0

確定我們所做的是如下,

我們有兩個選擇:

  1. 保持在數據庫中的一切,菜單和按鈕的所有層次結構。創建一個通用菜單表單,然後在表單中即時創建按鈕。它看起來不錯,但我們有兩個問題。 a)首先創建按鈕就意味着我們必須在單個通用函數中實現他們的點擊功能(即點擊時打開哪個表單),這個函數通過反射來打開表單。這限制了我們,因爲我們有問題將自定義參數傳遞給表單。我們可以爲其添加多個函數,但那樣會創建一個具有很多函數的大類。不完全一般。 b)其次,我們爲所有菜單創建單一表單意味着我們無法爲不同的表單定製表單(如在頁眉/頁腳中添加其他控件)。我們再次可以做到這一點,但這將再次需要很多ifs等。

  2. 在UI層靜態地創建所有的菜單和按鈕。並根據表值/配置啓用/禁用/隱藏/顯示它們。這是比#1更多的工作,但它讓我們在UI佈局方面有很大的靈活性。

0

將菜單上的菜單(導航)按鈕和停靠工具欄上的功能按鈕放在一起。

+0

當我說它是一個設計問題時,我不是指UI設計。 – neebz 2010-10-05 21:50:18