2010-02-25 66 views
0

我正在開發一個插件系統。一些插件需要用戶輸入。我希望他們能夠向主應用程序報告他們需要什麼輸入,並讓主應用程序決定如何獲取它。似乎可能有某種類型的庫設計用於指定這樣的選項。所以就像插件可以返回某種Options對象一樣,指定名稱和選項類型,主應用程序可以使用它來確定顯示哪種控件以獲得所需的選項。有沒有像.NET的「選項」庫?

我不知道這樣的東西是否存在,但似乎有點可能因爲似乎有很多應用程序使用這樣的選項。我正在考慮像Firefox這樣的東西:配置只是顯示了一個龐大的選項列表,並且知道如何處理每個選項。基本上我希望能夠爲我的主應用程序(它不是一個Web應用程序或瀏覽器,這只是一個示例)創建一個about:config頁面,它可以查看插件所需的選項並自動生成一個簡單的接口(如about:config )來獲得這些選項。

+0

調查定義API = /?我認爲這就是你要求的 – Warty 2010-02-25 19:27:31

回答

2

如果是WinForms應用程序,請查看PropertyGrid控件。您創建一個類對象,其中包含您希望用戶配置的所有選項的屬性。然後你用這個對象設置PropertyGrid的「SelectedObject」屬性。然後控件將創建一個窗口,讓用戶在運行時修改選項對象的值。

+0

太棒了。我仍然聽到更多的答案,但我不知道PropertyGrid,這肯定會奏效。 – 2010-02-25 20:03:43

0

您對功能的要求相當特別。通常,框架(或某個特殊的庫)不知道應用程序的設計和需求,也不知道應該什麼時候向用戶提問。而且,通常插件是根據需要加載的,而不是在應用程序啓動時加載的,因此在此處由框架/庫觸發的任何UI邏輯可能都非常不合適。

因此,基本上看起來你需要自己編寫庫。

+1

我不認爲這很不尋常。使用插件框架的許多許多應用程序還提供了插件用於配置自身的標準UI。 – Nick 2010-02-25 19:32:08