如何创建自定义GUI组件?

时间:2009-09-09 07:50:21

标签: c# winforms user-interface

我是一个C#编码器,在构建新的GUI组件时有一个intresst。 已经在谷歌上获取了一些关于创建不属于任何当前标准的GUI组件的信息,并且运气不错。

简而言之,我希望能够构建我自己的组件/控制器以用于应用程序。

事情是,我有一个改变想法,创建一个替代方法来创建/绘制(不是父母,基于孩子)右键单击鼠标按钮菜单。到目前为止,它的唯一方法就是通过[DllImport(“user32.dll”)]来实现这一点,以便能够在窗体或控制器之外绘制东西。

所以我想我可能会在这里要求听听是否有人经历过像alternet鼠标点击菜单这样的handel alternet GUI组件,并且能够在控制形式och控制器之外绘制这样的组件。

问题,通过让[DllImport(“user32.dll”)]参与到屏幕上直接绘制需要的内容,这是唯一正确的方法吗?

编辑:
好的,我会尝试更精确。
我希望能够创建WinForms使用的grafical组件。在这种情况下,构建了一种构建菜单系统的替代方法,而不仅仅是构建Windows标准右键菜单的父子。
以WinForm为例,我在GUI演示时尝试使用鼠标菜单进行更改。创建一个圆形的WinForm组件,而不是WinForm的方形。

创建GUI组件,而不是使用存在的组件。在这种情况下,一种构建备用鼠标菜单的方法。

1 个答案:

答案 0 :(得分:1)

WinForms可用的教程和其他资源没有结束。 Here是一个包含上下文菜单(右键菜单)示例的链接。

一般情况下,您不需要在代码中直接使用user32.dll,除非您有非常具体的理由这样做。

更新:如果您不想受限于任何特定技术(如WinForms或WPF),那么您可能希望直接使用C或C ++中的user32.dll级别。但是,您可以在C#中创建相当灵活的控件 - 有关示例,请参阅this articlethis one