Soyez le premier à donner votre avis sur cette source.
Snippet vu 5 199 fois - Téléchargée 18 fois
using System; using System.Drawing; using System.Windows.Forms; namespace Samson_For_Tablette { public class myFlowLayoutPanel : FlowLayoutPanel { public myFlowLayoutPanel() :base() { this.MouseDown += new MouseEventHandler(_MouseDown); this.MouseMove += new MouseEventHandler(_MouseMove); this.MouseUp += new MouseEventHandler(_MouseUp); } // Memo de l'etat du bouton gauche de la souris private bool _ClickOk = false; // Memo de la position de la souris du bouton gauche de la souris private int _MouseY = 0; private int _MouseX = 0; // ça c'est une petite astuce pour activer le composant et activer la roue de la souris protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(e); this.Focus(); } //Recupéré les evenements souris des composants ajoutés sur le Panel protected override void OnControlAdded(ControlEventArgs e) { base.OnControlAdded(e); Control lControl = e.Control; lControl.MouseDown += new MouseEventHandler(_MouseDown); lControl.MouseMove += new MouseEventHandler(_MouseMove); lControl.MouseUp += new MouseEventHandler(_MouseUp); } } private void _MouseUp(object sender, MouseEventArgs e) { try { if (e.Button == System.Windows.Forms.MouseButtons.Left) _ClickOk = false; }catch{} } private void _MouseMove(object sender, MouseEventArgs e) { try { if (_ClickOk) { int lMouseX = MousePosition.X; int lMouseY = MousePosition.Y; int lDeltaX = lMouseX - _MouseX; int lDeltaY = lMouseY - _MouseY; _MouseX = lMouseX; _MouseY = lMouseY; Rectangle clientRectangle = base.ClientRectangle; int lY = DisplayRectangle.Y; int lX = DisplayRectangle.X; if (!this.VScroll) lDeltaY = 0; if (!this.HScroll) lDeltaX = 0; try { this.SetDisplayRectLocation(lX + lDeltaX, lY + lDeltaY); } catch { } } } catch { } } private void _MouseDown(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { try { _ClickOk = true; _MouseX = MousePosition.X; _MouseY = MousePosition.Y; } catch { } } } } }
4 mai 2013 à 23:29
De plus, pour que ta classe intéresse quelqu'un, je te conseillerai d'ajouter un programme exemple qui l'utilise
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.