mbsmbsmbs
دوشنبه 01 شهریور 1389, 11:40 صبح
سلام
بنده چند پیکچر باکس روی فرمم دارم حالا چطوری می تونم هر کدوم رو حرکت بدم یعنی باید برای هر پیکچر باکس کد زیر را بنویسم؟
با تشکر فراوان
int yPosition;
int xPosition;
bool isDraged;
private void Form1_Load(object sender, EventArgs e)
{
xPosition = yPosition = 0;
isDraged = false;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
this.Cursor = Cursors.SizeAll;
xPosition = e.X;
yPosition = e.Y;
isDraged = true;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (isDraged)
{
pictureBox1.Left = pictureBox1.Left + e.X - xPosition;
pictureBox1.Top = pictureBox1.Top + e.Y - yPosition;
}
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
isDraged = false;
this.Cursor = Cursors.Default;
}
--------------------
منظورم اینه که چه طوری میشه تعداد خط کمتری کد بنویسم آیا راهی هست؟
به طور مثال من 30 پیکچر باکس روی فرمم دارم آیا باید برای اینکه هر کدووم کاربر با موس حرکت بده باید این کد را برای هر کدوم بنویسم؟
با تشکر
بنده چند پیکچر باکس روی فرمم دارم حالا چطوری می تونم هر کدوم رو حرکت بدم یعنی باید برای هر پیکچر باکس کد زیر را بنویسم؟
با تشکر فراوان
int yPosition;
int xPosition;
bool isDraged;
private void Form1_Load(object sender, EventArgs e)
{
xPosition = yPosition = 0;
isDraged = false;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
this.Cursor = Cursors.SizeAll;
xPosition = e.X;
yPosition = e.Y;
isDraged = true;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (isDraged)
{
pictureBox1.Left = pictureBox1.Left + e.X - xPosition;
pictureBox1.Top = pictureBox1.Top + e.Y - yPosition;
}
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
isDraged = false;
this.Cursor = Cursors.Default;
}
--------------------
منظورم اینه که چه طوری میشه تعداد خط کمتری کد بنویسم آیا راهی هست؟
به طور مثال من 30 پیکچر باکس روی فرمم دارم آیا باید برای اینکه هر کدووم کاربر با موس حرکت بده باید این کد را برای هر کدوم بنویسم؟
با تشکر