private void button3_Click(object sender, EventArgs e)
{
PictureBox pic = new PictureBox();
pic.Left = 100;
pic.Top = 20;
pic.Image = Image.FromFile("../Images/button_albums.png");
pic.Parent = this;
pic.Location = new Point(10,10); //显示位置
this.Controls.Add(pic);
//添加事件
pic.MouseDown += new MouseEventHandler(button1_MouseDown);
pic.MouseDown += new MouseEventHandler(button1_MouseDown);//运行的时候pic不能移动
pictureBox1.MouseDown += new MouseEventHandler(button1_MouseDown);//pictureBox1可以移动
pictureBox1.MouseMove += new MouseEventHandler(button1_MouseMove);
}
{
PictureBox pic = new PictureBox();
pic.Left = 100;
pic.Top = 20;
pic.Image = Image.FromFile("../Images/button_albums.png");
pic.Parent = this;
pic.Location = new Point(10,10); //显示位置
this.Controls.Add(pic);
//添加事件
pic.MouseDown += new MouseEventHandler(button1_MouseDown);
pic.MouseDown += new MouseEventHandler(button1_MouseDown);//运行的时候pic不能移动
pictureBox1.MouseDown += new MouseEventHandler(button1_MouseDown);//pictureBox1可以移动
pictureBox1.MouseMove += new MouseEventHandler(button1_MouseMove);
}
直接添加的pictureBox1控件可以
用代码添加的pic不可以 我想知道原因
private void Form1_Load(object sender, EventArgs e)
{
PictureBox pic = new PictureBox();
pic.Left = 100;
pic.Top = 20;
pic.Width = 100;
pic.Height = 100;
pic.BackColor = Color.Black;
// pic.Image = Image.FromFile("../Images/button_albums.png");
pic.Parent = this;
pic.Location = new Point(10, 10); //显示位置
//添加事件
pic.MouseDown += new MouseEventHandler(pic_MouseDown);
pic.MouseMove += new MouseEventHandler(pic_MouseMove);
pic.MouseUp += new MouseEventHandler(pic_MouseUp);//运行的时候pic不能移动
this.Controls.Add(pic);
}#region modify panel move&close
private Point ptMouseCurrrnetPos, ptMouseNewPos, ptFormPos, ptFormNewPos;
private bool blnMouseDown = false; private void pic_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
blnMouseDown = true;
//Save window position and mouse position
ptMouseCurrrnetPos = Control.MousePosition;
ptFormPos = (sender as Control).Location;
}
} private void pic_MouseMove(object sender, MouseEventArgs e)
{
if (blnMouseDown)
{
//Get the current position of the mouse in the screen
ptMouseNewPos = Control.MousePosition;
//Set window position
ptFormNewPos.X = ptMouseNewPos.X - ptMouseCurrrnetPos.X + ptFormPos.X;
ptFormNewPos.Y = ptMouseNewPos.Y - ptMouseCurrrnetPos.Y + ptFormPos.Y;
//Save window position
(sender as Control).Location = ptFormNewPos;
ptFormPos = ptFormNewPos;
//Save mouse position
ptMouseCurrrnetPos = ptMouseNewPos;
}
} private void pic_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
//Return back signal
blnMouseDown = false;
}
#endregion