PDA

View Full Version : مبتدی: تغییر مختصات فرم با موس در حالت form boder style=none



Iranian Programmer
چهارشنبه 05 تیر 1392, 15:17 عصر
سلام به همه ی اساتید محترم
بنده چند روزی شوع به برنامه نویسی باسی شارپ کردم
می خوام بدونم چجور میشه مختصات فرم را عوض کرد در حالی که فرم بردر... نیست
:متفکر:

ashkan1234
چهارشنبه 05 تیر 1392, 15:24 عصر
سلام به همه ی اساتید محترم
بنده چند روزی شوع به برنامه نویسی باسی شارپ کردم
می خوام بدونم چجور میشه مختصات فرم را عوض کرد در حالی که فرم بردر... نیست
:متفکر:
سلام!خوش اومدید!
با استفاده از خاصیت Location فرم میتونید اینکارو انجام بدید!

Iranian Programmer
چهارشنبه 05 تیر 1392, 15:32 عصر
میشه یکم توضیح بدید

erfan_urchin
چهارشنبه 05 تیر 1392, 17:25 عصر
اول در پراپرتی های فرم خاصیت StartPosition رو بکنید Manual
و بعد در قسمت Location مختصات نقطه ای رو که میخواین فرم به محض اجرا در اونجا قرار بگیره رو بدین (مثلا 100 ;100)

13601360
چهارشنبه 05 تیر 1392, 19:03 عصر
private bool dragging = false;
private Point dragCursorPoint;
private Point dragFormPoint;

private void FormMain_MouseDown(object sender, MouseEventArgs e)
{
dragging = true;
dragCursorPoint = Cursor.Position;
dragFormPoint = this.Location;
}

private void FormMain_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
Point dif = Point.Subtract(Cursor.Position, new Size(dragCursorPoint));
this.Location = Point.Add(dragFormPoint, new Size(dif));
}
}

private void FormMain_MouseUp(object sender, MouseEventArgs e)
{
dragging = false;
}

CsharpNevisi
چهارشنبه 05 تیر 1392, 19:12 عصر
دوست عزیز میتونی از این کد استفاده کنی :
تو این کد میتونی فرمتو درگ کنی .... !!!


bool Drg;
int x,y;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
Drg = true;
x = e.X;
y = e.Y;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (Drg == true)
{
this.Top = Cursor.Position.Y - y;
this.Left = Cursor.Position.X - x;
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
Drg = false;
}


برای این که فرمت به محض شروع سر جای معین قرار بگیره میتونی از این کد استفاده کنی

private void Form1_Load(object sender, EventArgs e)
{
//this.Location = new Point(X, Y); اینجا میتونی بهش مختصات بدی
this.Location = new Point(100, 700);
//با استفاده از این کد میتونی از ابعاد صفحه نمایش هم استفاده کنی
//این کد فرم رو به وسط صفحه هدایت میکنهم تونی به جمع و تفریق کردن مقادیر مختصاتو طبق اندازه محیط کاری تغییر بدی
this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width / 2) - (this.Width / 2), Screen.PrimaryScreen.WorkingArea.Height / 2 - (this.Height / 2));
} }