Advertisement
Fhernd

Principal.cs

Mar 9th, 2018
1,773
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.56 KB | None | 0 0
  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4.  
  5. namespace R804MoverFigura
  6. {
  7.     public partial class Principal : Form
  8.     {
  9.         public Principal()
  10.         {
  11.             InitializeComponent();
  12.         }
  13.  
  14.         private bool arrastrandoElipse1 = false;
  15.         private bool arrastrandoElipse2 = false;
  16.  
  17.         private ElipseControl elipse1;
  18.         private ElipseControl elipse2;
  19.  
  20.         protected override void OnLoad(EventArgs e)
  21.         {
  22.             base.OnLoad(e);
  23.  
  24.             elipse1 = new ElipseControl();
  25.             elipse1.Width = 100;
  26.             elipse1.Height = 100;
  27.             elipse1.Top = 30;
  28.             elipse1.Left = 30;
  29.             elipse1.BackColor = Color.Red;
  30.             this.Controls.Add(elipse1);
  31.  
  32.             elipse2 = new ElipseControl();
  33.             elipse2.Width = 100;
  34.             elipse2.Height = 100;
  35.             elipse2.Top = 130;
  36.             elipse2.Left = 130;
  37.             elipse2.BackColor = Color.Azure;
  38.             this.Controls.Add(elipse2);
  39.  
  40.             elipse1.MouseDown += Elipse_MouseDown;
  41.             elipse1.MouseUp += Elipse_MouseUp;
  42.             elipse1.MouseMove += Elipse_MouseMove;
  43.  
  44.             elipse2.MouseDown += Elipse_MouseDown;
  45.             elipse2.MouseUp += Elipse_MouseUp;
  46.             elipse2.MouseMove += Elipse_MouseMove;
  47.         }
  48.  
  49.         private void Elipse_MouseDown(object sender, MouseEventArgs eventArgs)
  50.         {
  51.             Control ctlControl = (Control) sender;
  52.  
  53.             if(eventArgs.Button == MouseButtons.Left)
  54.             {
  55.                 ctlControl.Tag = new Point(eventArgs.X, eventArgs.Y);
  56.  
  57.                 if(ctlControl == elipse1)
  58.                 {
  59.                     arrastrandoElipse1 = true;
  60.                 }
  61.                 else
  62.                 {
  63.                     arrastrandoElipse2 = true;
  64.                 }
  65.             }
  66.         }
  67.  
  68.         private void Elipse_MouseUp(object sender, MouseEventArgs eventArgs)
  69.         {
  70.             arrastrandoElipse1 = false;
  71.             arrastrandoElipse2 = false;
  72.         }
  73.  
  74.         private void Elipse_MouseMove(object sender, MouseEventArgs eventArgs)
  75.         {
  76.             Control ctlControl = (Control) sender;
  77.  
  78.             if((arrastrandoElipse1 && ctlControl == elipse1) || (arrastrandoElipse2 && ctlControl == elipse2))
  79.             {
  80.                 Point punto = (Point) ctlControl.Tag;
  81.  
  82.                 ctlControl.Left = eventArgs.X + ctlControl.Left - punto.X;
  83.                 ctlControl.Top = eventArgs.Y + ctlControl.Top - punto.Y;
  84.             }
  85.         }
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement