babak1
جمعه 01 بهمن 1389, 00:23 صبح
چندتا سوال داشتم از این برنامه که به عنوان مثال در سایت گذاشته شده .(بخشهای ستاره دار)
private bool dragging;
private Point pointchecked;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
dragging = true;
pointchecked = new Point(e.X, e.Y);
}
else
dragging = false;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point movePoint;
movePoint = this.PointToScreen(new Point(e.X, e.Y)); **
movePoint.Offset(-pointchecked.X, -pointchecked.Y); **
this.Location = movePoint; **
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}
1- چرا از pointToscreen استفاده کردیم و مستقیما e.x و e.y رو کپی نکردیم ؟ یعنی movepoint =new point (e.x,e.y)
2- خط دوم رو اگه کامل برام توضیح بدید ممنون میشم.
3- در خط سوم چه چیری از movePoint در location ریخنه میشود؟ دقیقا x وy مشخص نشده ؟؟
private bool dragging;
private Point pointchecked;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
dragging = true;
pointchecked = new Point(e.X, e.Y);
}
else
dragging = false;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point movePoint;
movePoint = this.PointToScreen(new Point(e.X, e.Y)); **
movePoint.Offset(-pointchecked.X, -pointchecked.Y); **
this.Location = movePoint; **
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}
1- چرا از pointToscreen استفاده کردیم و مستقیما e.x و e.y رو کپی نکردیم ؟ یعنی movepoint =new point (e.x,e.y)
2- خط دوم رو اگه کامل برام توضیح بدید ممنون میشم.
3- در خط سوم چه چیری از movePoint در location ریخنه میشود؟ دقیقا x وy مشخص نشده ؟؟