title: How to move a new (custom) button at run time?
body: <p>I have a problem with my winforms C# project.</p>
  
  <p>I want to move a new (custom) button around the form (at run time).
  How can I do that?</p>
  
  <pre><code>    Button[] buttons = new Button[1000];
          int counter = 0;
          Button myText = new Button();
  private void button2_Click(object sender, EventArgs e)
          {
                  Button myText = new Button();
                  myText.Tag = counter;
                  myText.Location = new Point(x2,y2);
                  myText.Text = Convert.ToString(textBox3.Text);
                  this.Controls.Add(myText);
                  myText.MouseMove += new MouseEventHandler(myText_MouseMove);
                  myText.MouseDown += new MouseEventHandler(myText_MouseDown);
                  buttons[counter] = myText;
                  counter++;
          }
   public void myText_MouseMove(object sender, MouseEventArgs e)
          {
              int s = e.GetHashCode();
              int check = 0;
              for (int i = 0; i &lt; counter; i++)
              {
                  if (buttons[i].GetHashCode() == s)
                      check = i;
              }
              if (e.Button == MouseButtons.Left)
              {
                  buttons[check].Left += e.X - move.X;
                  buttons[check].Top += e.Y - move.Y;
              }
          }
          void myText_MouseDown(object sender, MouseEventArgs e)
          {
              move = e.Location;
          }
  </code></pre>
  
  <p>I use the code above to create the new button and I am trying to move it around the form.</p>
  
  <p>If I code for just 1 button I am able to move it but, I want to be able to do this for more buttons as well.</p>