2009-09-09 120 views
1

我是一個C#編碼器,在構建新的GUI組件時使用intresst。 已經向谷歌搜索了一些關於創建不屬於任何當前標準的GUI組件的信息,但運氣不佳。如何創建自定義GUI組件?

總之,我希望能夠構建自己的組件/控制器以供應用程序使用。

事情是我有創造一個替代方式來創建/繪製(不是父母,基於孩子的)右鍵單擊鼠標按鈕菜單的異端想法。到目前爲止,它接縫的唯一方法就是通過包含[DllImport(「user32.dll」)]例如能夠在窗體或控制器之外繪製內容。

所以我想我可能會在這裏問一下,聽聽有沒有人知道如何修改alternet的GUI組件,比如一個alternet的鼠標點擊菜單,並且能夠在控制窗體之外繪製這樣的組件。

問題,是唯一正確的方法來做到這一點,包括[DllImport(「user32.dll」)]例如繪製什麼是直接需要屏幕?

編輯:
好吧,我會盡量做到更精確。
我希望能夠創建例如由WinForms使用的圖形組件。在這種情況下,構建菜單系統的一種替代方法,而不僅僅是作爲Windows標準右鍵菜單的父 - 子。
只是以WinForm爲例,我在GUI演示時嘗試使用鼠標菜單進行更改。創建一個WinForm組件,它與WinForm一樣是圓形的而不是方形的。

創建GUI組件,不使用存在的組件。在這種情況下,這是一種構建備用鼠標菜單的方式。

+0

我更新了我的答案。 – 2009-09-09 12:05:49

回答

1

WinForms的教程和其他資源沒有結束。 Here的鏈接有一個上下文菜單(右鍵菜單)的例子。

一般來說,你不應該直接在你的代碼中使用user32.dll,除非你有一個非常具體的理由這樣做。

更新:如果您不希望被束縛於任何特定的技術,如的WinForms或WPF做,那麼你可能想在C或C++直接user32.dll水平工作。但是,您可以在C#中創建相當靈活的控件 - 有關示例,請參見this articlethis one

+0

是的,你是絕對正確的。但我不想被綁定到WinForms。我希望能夠創建由WinForms使用的grafical組件。在這種情況下,建立菜單系統的替代方法不僅是父母子女。 只是以WinForm爲例,我嘗試通過鼠標菜單進行更改,因爲這主要涉及到GUI演示。創建一個WinForm組件,它與WinForm一樣是圓形的而不是方形的。 創建GUI組件,不使用它們。 – user170644 2009-09-09 09:53:29