2009-09-09 10 views
1

Im un codeur C# avec une intresst dans la construction de nouveaux composants GUI. Avez-vous demandé à google quelques informations sur la création de composants GUI n'appartenant à aucune norme actuelle, sans chance.Comment créer des composants GUI personnalisés?

En bref, je veux être en mesure de construire mes propres composants/contrôleurs à utiliser pour l'application. Le fait est que j'ai eu une idée alternative pour créer une autre façon de créer/dessiner un menu contextuel (pas si parent, enfant) avec le bouton droit de la souris. Jusqu'à présent, il semble que la seule façon de le faire est d'impliquer [DllImport ("user32.dll"]] par exemple pour pouvoir dessiner des choses en dehors d'un formulaire ou d'un contrôleur. J'ai donc pensé que je pourrais demander ici d'entendre si quelqu'un a des experts comment manipuler des composants de l'interface graphique alternative comme un menu alternatif souris-clic, et être capable de dessiner des composants comme celui-ci en dehors du contrôleur contrôleur och.

Question, Est-ce la seule façon appropriée de le faire en impliquant [DllImport ("user32.dll")] par exemple pour dessiner ce qui est nécessaire directement à l'écran?

EDIT:
Ok, je vais essayer d'être plus précis.
Je veux être capable de créer des composants grafiques à utiliser par WinForms par exemple. Dans ce cas, un autre moyen de construire des systèmes de menus et non pas seulement parent-enfant comme le menu de clic droit de Windows est construit.
Juste pour prendre WinForm comme exemple, ce que j'essaie de changer avec le menu de la souris quand il s'agit de la présentation GUI. Créez un composant WinForm qui est rond et non carré comme WinForm.

Créez des composants graphiques, n'utilisez pas celui qui existe. et dans ce cas un moyen de construire un menu de souris alternatif à utiliser.

+0

J'ai mis à jour ma réponse. –

Répondre

1

Il n'y a pas de fin de tutoriels et d'autres ressources disponibles pour WinForms. Here est un lien qui a un exemple de menu contextuel (menu contextuel).

En général, vous ne devriez pas avoir besoin d'utiliser user32.dll directement dans votre code, sauf si vous avez une raison très précise de le faire.

Mise à jour: Si vous ne voulez pas être lié à une technologie spécifique comme WinForms ou WPF, vous voudrez peut-être travailler au niveau user32.dll en C ou C++ directement. Cependant, vous pouvez créer des contrôles assez flexibles en C# - voir this article pour un exemple, ou this one.

+0

Oui, vous avez absolument raison. Mais je ne veux pas être lié à WinForms. Je veux être capable de créer des composants grafiques à utiliser par WinForms. Dans ce cas ci-dessus un moyen alternatif de construire des systèmes de menu et pas seulement parent-enfant. Juste pour prendre WinForm comme exemple ce que j'essaie de changer avec le menu de la souris car c'est à peu près tout ce qui concerne la présentation de l'interface graphique. Créez un composant WinForm qui est rond et non carré comme WinForm. Créez des composants graphiques, ne les utilisez pas. – user170644

Questions connexes