using System.ComponentModel; using System.Windows.Forms; namespace Developpez.Dotnet.Windows.Forms { /// /// Fournit une propriété supplémentaire pour activer ou désactiver le comportement DragMove pour les contrôles. /// [ProvideProperty("EnableDragMove", typeof(Control))] public partial class DragMoveProvider : Component, IExtenderProvider { /// /// Initialise une nouvelle instance de DragMoveProvider. /// public DragMoveProvider() { InitializeComponent(); } /// /// Initialise une nouvelle instance de DragMoveProvider avec le container spécifié. /// /// Un IContainer qui représente le container du DragMoveProvider. public DragMoveProvider(IContainer container) { container.Add(this); InitializeComponent(); } #region IExtenderProvider Members /// /// Renvoie true si le DragMoveProvider peut fournir une propriété d'extension à l'objet cible spécifié. /// /// L'objet cible auquel ajouter une propriété d'extension. /// true si le DragMoveProvider peut fournir une ou plusieurs propriété d'extensions ; sinon, false. public bool CanExtend(object extendee) { return (extendee is Control); } #endregion /// /// Renvoie une valeur indiquant si le comportement DragMove est actif sur le contrôle spécifié. /// /// Le contrôle pour lequel obtenir le statut du DragMove /// true si le comportement DragMove est actif pour ce contrôle ; sinon, false. [DefaultValue(false)] public bool GetEnableDragMove(Control control) { return control.IsDragMoveEnabled(); } /// /// Active ou désactive le comportement DragMove pour le contrôle spécifié. /// /// Le contrôle pour lequel activer ou désactiver le comportement DragMove. /// Une valeur indiquand si le comportement DragMove doit être activé (true) ou désactivé (false) pour le contrôle. public void SetEnableDragMove(Control control, bool value) { control.EnableDragMove(value); } } }