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-1404, Jelsoft Enterprises Ltd.