Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Bắt sự kiện

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Mặc định Bắt sự kiện

    Mình đang làm sơ đồ ghế ngồi (mỗi ghế là 1 picturebox), mình muốn khi dùng chuột click và kéo đụng ghế nào thì ghế đó đổi màu. Mình ko biết bắt sự kiện nào để làm dc chuyện này, mong mấy bạn giúp dùm.
    Đã được chỉnh sửa lần cuối bởi oo00Mars00oo : 03-11-2011 lúc 04:22 AM.

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    hix. hàng đống sự kiện click+move...mà ko được à bạn?
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  3. #3
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Trích dẫn Nguyên bản được gửi bởi mrfour.it Xem bài viết
    hix. hàng đống sự kiện click+move...mà ko được à bạn?
    bạn có thể nói rõ hơn ko, mình thử rồi mà vẫn ko dc (lưu ý là mousedown rồi mới kéo chuột đến ghế mình muốn)

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Hic, sao ko ai giúp hết dzay.

  5. #5
    Ngày gia nhập
    10 2010
    Bài viết
    518

    Cái này dễ mà. Bác làm dc đến đâu rồi? chưa kéo dc hay chưa "đụng " dc?

  6. #6
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Mặc định Bắt sự kiện

    Hic, sao ai cũng nói dễ mà ko hướng dẫn gì hết dzay. Mình làm MouseMove, MouseEnter...trên picturebox, nhưng khi giữ trái chuột rồi rê đến thì nó không bắt sự kiện nữa.

  7. #7
    Ngày gia nhập
    10 2010
    Bài viết
    518

    Làm rồi thì up code bác ah, sai đâu sửa đấy.

  8. #8
    Ngày gia nhập
    07 2011
    Bài viết
    4

    Trích dẫn Nguyên bản được gửi bởi Solewind.IT Xem bài viết
    Làm rồi thì up code bác ah, sai đâu sửa đấy.
    Bác xem rồi hướng dẫn giúp nha.
    Attached Files Attached Files

  9. #9
    Ngày gia nhập
    02 2011
    Nơi ở
    Bảo Lộc, Vietnam
    Bài viết
    68

    mình nghĩ bạn nên dùng cách sau:
    1 biến kiểu bool để kiểm tra khi sự kiện MouseDown cho Form và sự kiện MouseEnter cho poctureBox
    Visual C# Code:
    1.  bool check = false;
    2.         public Form1()
    3.         {
    4.             InitializeComponent();
    5.         }
    6.         private void Form1_MouseDown(object sender, MouseEventArgs e)
    7.         {
    8.             check = true;
    9.         }    
    10.         private void pictureBox1_MouseEnter(object sender, EventArgs e)
    11.         {
    12.             if (check == true)
    13.             {
    14.                 MessageBox.Show("mouse....");
    15.             }
    16.             check = false;
    17.         }
    Đã được chỉnh sửa lần cuối bởi lequ0ch0anglt : 05-11-2011 lúc 06:46 PM.

  10. #10
    Ngày gia nhập
    10 2010
    Bài viết
    518

    Bác đã làm cái gì đâu mà gửi lên.
    Code:
    public partial class Form1 : Form
        {
            Point p = new Point();
            bool drag = false;
            public Form1()
            {
                InitializeComponent();
            }
    
            private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                Point temp = PointToScreen(e.Location);
                if (drag)
                {
                    pictureBox1.Location = new Point(pictureBox1.Left + temp.X - p.X, pictureBox1.Top + temp.Y - p.Y);
                    if (RectangleToScreen(label1.Bounds).Contains(pictureBox1.PointToScreen(e.Location)))
                        MessageBox.Show("Chuột nằm trong label");
                }
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    pictureBox1.Capture = true;
                    drag = true;
                    p = PointToScreen(e.Location);
                }
            }
    
            private void pictureBox1_MouseLeave(object sender, EventArgs e)
            {
                drag = false;
            }
    
            private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
            {
                drag = false;
            }
        }

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