2009-09-09 121 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