View Full Version : سوال: جابه جای فرم
mazaher5723
سه شنبه 23 خرداد 1391, 17:13 عصر
سلام دوستان
خاصیت Formborderstyleرو None کردم حالا می خوام هر جا فرمم کلیک موس رو فشار میده و با مکان موس رو تغییر میده فرمم با موس تکون بخوره.
با تشکر مظاهر
Y_Safaiee
سه شنبه 23 خرداد 1391, 17:20 عصر
با سلام خدمت شما
مطابق کد زیر :
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern int ReleaseCapture();
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
static extern int SendMessage(int hwnd, int wMsg, int wParam, object lParam);
private const int WM_NCLBUTTONDOWN = 161;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(this.Handle.ToInt32(), WM_NCLBUTTONDOWN, 2, 0);
}
}
}
موفق باشید
بایت بایت
فرید نجفلو
سه شنبه 23 خرداد 1391, 21:08 عصر
سلام
فکر کنم زمان کد های عصر حجری گذشته باشه!!!
این کد ها رو به فرم اضافه کنید(تنظیم Event ها فراموش نشه)
private bool FormInMove = false;
private Point MouseDownPos = new Point();
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
MouseDownPos = (e.Location);
FormInMove = true;
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
FormInMove = false;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (FormInMove)
{
Point Newlocatin = new Point();
Newlocatin.X = PointToScreen(e.Location).X- MouseDownPos.X;
Newlocatin.Y = PointToScreen(e.Location).Y - MouseDownPos.Y;
this.Location = Newlocatin;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.