2009-11-12 9 views
1

J'ai créé la classe HoverButton qui dérive de Form.Button. Ici, je substitue les événements OnMouseEnter/OnMouseLeave.Utilisation d'une classe Button personnalisée au lieu de Forms.Button

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace DSLiteWizardLib 
{ 
    class HoverButton : Button 
    { 
     #region Constructor 
     public HoverButton() 
     { 
      InitializeComponent(); 
      bMouseHover = false; 
     } 
     #endregion 

     #region Methods 
     private void OnMouseEnter(object sender, System.EventArgs e) 
     { 
      bMouseHover = true; 
     } 
     private void OnMouseLeave(object sender, System.EventArgs e) 
     { 
      bMouseHover = false; 
     } 
     private void InitializeComponent() 
     { 
      this.MouseEnter += new System.EventHandler(this.OnMouseEnter); 
      this.MouseLeave += new System.EventHandler(this.OnMouseLeave); 
     } 
    } 
} 

Finalement, je veux passer une image de l'état de vol stationnaire, l'état pressé, etc.

Comment puis-je obtenir le bouton qui est placé sur mon formulaire à utiliser ma classe HoverButton au lieu du formulaire type Classe .Button?

+1

Pour votre information - Vous n'êtes pas prioritaire ici, vous vous abonnez aux événements. Utilisez le mot-clé override sur OnMouseLeave et OnMouseEnter pour les remplacer correctement. –

Répondre

2

Si vous utilisez un ensemble séparé pour stocker votre contrôle, vous pouvez faire un clic droit sur la barre d'outils de contrôle et ajouter un élément pour votre assemblage. Vous pouvez ensuite faire glisser et déposer votre contrôle comme n'importe quel autre contrôle intégré.

Si vous recherchez quelque chose d'un peu moins élégant, vous pouvez aller dans le fichier Designer.cs et changer le type du bouton de Button à HoverButton.

0

Si vous regardez dans votre boîte à outils dans votre concepteur de formulaires, vous devriez voir le HoverButton que vous avez créé. (Après une construction réussie bien sûr.) Vous faites ensuite glisser sur votre formulaire comme un bouton ordinaire.

Questions connexes