Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Làm sao để đi chuyển của sổ bằng cách bấm vào bất kì nơi nào trên Form?

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    23

    Angry Làm sao để đi chuyển của sổ bằng cách bấm vào bất kì nơi nào trên Form?

    Em mún tạo ra 1 form không có thanh control gì đó! Chỉ di chuyển form bằng cách nhấp chuột bất cứ nơi đâu!
    Ai biết chỉ dùm em!
    Em mới bước chân tới c#

  2. #2
    Ngày gia nhập
    03 2007
    Bài viết
    179

    1 form đều có 4 điểm 4 góc quản lí vị trí, kích cỡ form. Bạn bắt sự kiện click chuột rồi thay đổi 4 điểm nêu trên
    Code:
     private void Form1_Click(object sender, EventArgs e)
            {
                this.Left += 123;
    
            }
    Đã được chỉnh sửa lần cuối bởi BuithiHa : 13-04-2008 lúc 07:11 AM.

  3. #3
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Trích dẫn Nguyên bản được gửi bởi BuithiHa Xem bài viết
    1 form đều có 4 điểm 4 góc quản lí vị trí, kích cỡ form. Bạn bắt sự kiện click chuột rồi thay đổi 4 điểm nêu trên
    Code:
     private void Form1_Click(object sender, EventArgs e)
            {
                this.Left += 123;
    
            }
    Đây là bắt sự kiện click chuột trên form mà.
    Nếu người dùng muốn di chuyển form thì có được ko?
    Không biết ghi gì luôn ...

  4. #4
    Ngày gia nhập
    04 2008
    Bài viết
    23

    hok hiểu lắm!
    Em mún là khi muốn di chuyển của sổ chỉ cần bấm giữ vào điểm bất kì trên Form và kéo nó đi!

  5. #5
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Bạn thử sử dụng bắt sự kiện MouseMove đối với Form xem sao.
    Không biết ghi gì luôn ...

  6. #6
    Ngày gia nhập
    03 2007
    Bài viết
    179

    Mặc định Làm sao để đi chuyển của sổ bằng cách bấm vào bất kì nơi nào trên Form?

    Trích dẫn Nguyên bản được gửi bởi tct Xem bài viết
    hok hiểu lắm!
    Em mún là khi muốn di chuyển của sổ chỉ cần bấm giữ vào điểm bất kì trên Form và kéo nó đi!
    Code:
      bool Da_an = false;
         
            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (Da_an == true)
                    this.Left = e.X;
    
            }
    
            private void Form1_MouseUp(object sender, MouseEventArgs e)
            {
               Da_an = false;
            }
    
            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                Da_an = true;
            }
    // chống giật màng hình và di chuyển lên xuống bạn tìm hiểu thêm nha
    chúc thành công

  7. #7
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    buithiha nên để bạn đó tự code những bài cơ bản chứ. Có thế mới tiến bộ được.
    Không biết ghi gì luôn ...

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    23

    Cảm ơn các bạn đã giúp đỡ!
    Mình mới bước vào nghề mà!
    Đây là cách của mình:
    Visual C# Code:
    1.  
    2.         //
    3.         //Di chuyển cửa sổ
    4.         //
    5.         private bool dragging;
    6.         private Point pointClicked;
    7.         private void lblDrag_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e)
    8.         {
    9.             if (e.Button == MouseButtons.Left){
    10.                 dragging = true;
    11.                 pointClicked = new Point(e.X, e.Y);
    12.                 }
    13.             else {
    14.                 dragging = false;
    15.                 }
    16.             }
    17.         private void lblDrag_MouseMove(object sender,System.Windows.Forms.MouseEventArgs e) {
    18.             if (dragging) {
    19.                 Point pointMoveTo;
    20.                 pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
    21.                 pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
    22.                 this.Location = pointMoveTo;
    23.                 }
    24.             }
    25.         private void lblDrag_MouseUp(object sender,System.Windows.Forms.MouseEventArgs e) {
    26.             dragging = false;
    27.             }
    28.         //
    29.         //kết thúc di chuyển của sổ
    30.         //
    Visual C# Code:
    1.  
    2.                 this.MouseMove += lblDrag_MouseMove;
    3.             this.MouseDown += lblDrag_MouseDown;
    4.             this.MouseUp += lblDrag_MouseUp;
    Dù sao cũng cảm ơn nhìu!
    Với lại Forlorn_hope ơi! cái gì hok bít người ta mới hỏi chứ!!!

  9. #9
    Ngày gia nhập
    10 2007
    Bài viết
    37

    Cái này chỉ là tip thôi nên code cũng kô sao.
    Bạn dùng API đi, nó đc support by OS viết ngắn gọn lắm.
    Khi move chỉ vẽ 1 rectangle để biết move đến đâu, chỉ đến khi thả left mouse button ra mới vẽ lại form.
    Visual C# Code:
    1. //using
    2. using System.Runtime.InteropServices;
    3. //Khai báo các hàm API cần sử dụng
    4. public const int WM_NCLBUTTONDOWN = 0xA1;
    5. public const int HTCAPTION = 0x2;
    6. [DllImport("User32.dll")]
    7. public static extern bool ReleaseCapture();
    8. [DllImport("User32.dll")]
    9. public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
    10. //Thực hiện
    11. private void Form1_MouseDown(object sender, MouseEventArgs e)
    12. {
    13.     if (e.Button == MouseButtons.Left)
    14.     {
    15.         ReleaseCapture();
    16.         SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
    17.     }
    18. }

  10. #10
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Trích dẫn Nguyên bản được gửi bởi tct Xem bài viết
    Với lại Forlorn_hope ơi! cái gì hok bít người ta mới hỏi chứ!!!
    Bạn hiểu nhầm ý ht rồi.
    Ý mình là: đưa ra hướng giải quyết với những bài cơ bản, để tự code hay hơn là code giúp các bạn. Còn những bài tương đối khó hay cần tối ưu, cách ngắn gọn thì mới code giúp các bạn theo những gì mình biết.
    Mình không có ý khác
    Không biết ghi gì luôn ...

Các đề tài tương tự

  1. Graphic click vào button trên form 1, form 2 xuất hiện và đồng thời form ẩn xuống...
    Gửi bởi vipnho0209 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 36
    Bài viết cuối: 04-11-2012, 10:27 AM
  2. Trả lời: 2
    Bài viết cuối: 22-09-2011, 07:37 PM
  3. Cách thiết kế và xử lý sự kiện trên Form giống như form Install New Font của Windows XP
    Gửi bởi manhhung1109 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 28-08-2011, 03:11 PM
  4. Khi Close Form bằng nút X trên form hiện lên mesage?
    Gửi bởi harleydavidsons trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 16
    Bài viết cuối: 15-04-2011, 10:53 AM
  5. Kỹ thuật C Download 1 FILE trên 1 website bằng C !!
    Gửi bởi tucute89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 27-06-2010, 08:05 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn