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

Đề tài: làm sao kết hợp event mousemove,mouseclick,mouseleave?

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

    Mặc định làm sao kết hợp event mousemove,mouseclick,mouseleave?

    Mình có làm 1 demo sau

    TH1: rê chuột tới btn A nó sẽ thành hình khác, rê chuột ra ngoài thì lại là hình ban đầu
    TH2: click chuột lên btn nó sẽ thành hình khác, rê chuột ra ngoài thì vẫn là hình khác( ko trở lại hình ban đầu)
    Nhưng mình kết hợp cả 2 TH lại thì không được, mọi người giúp mình vs
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    09 2011
    Nơi ở
    Ho Chi Minh City, Vietnam, Vietnam
    Bài viết
    14

    bạn có thể dùng 1 biến flag toàn cục để đánh dấu mỗi khi có sự kiện. nếu rê chuột vào flag=1, khi flag =1 thì rê chuột ra đổi hình, flag=0;
    khi flag =0, click vào thì sẽ đổi hình, flag=2, khi flag=2 thì khi click vào sẽ đổi hình flag gán lại =0... đó là cách mình nghĩ ra. Ngoài ra còn 1 số ràng buộc flag để 2 trường hợp này không bị chồng chéo lên nhau.
    P/S: mình vẫn chưa hiểu lắm việc bạn kết hợp chúng nghĩa là sao.

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

    thx bạn, mình làm theo bạn nhưng nó vẫn vậy( mình không hiểu lúc đặt flag =2 lắm @@)
    ah mình kết hợp lại nghĩa là rê vô nó đổi, nhưng người dùng cần click vô thì nó không đổi ấy mà
    Giống như bạn coi manga đó ( ở đây là btn) click vô thì đã coi rồi nên nó sẽ đổi, còn hành động rê chỉ thay đổi ảnh thôi
    Đã được chỉnh sửa lần cuối bởi dangquang : 04-10-2011 lúc 10:15 PM.

  4. #4
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    Mình đã làm dc bài cho bạn rồi, bạn tham khảo nhé

    Visual C# Code:
    1. // hinh mac dinh cua button1 la buso_renkin_icon
    2.         int trangthai = 0;//di chuot ra
    3.         //trangthai = 1;di chuot vao
    4.         private void button1_MouseLeave(object sender, EventArgs e)//di chuot ra
    5.         {
    6.             if (trangthai == 0)
    7.                 button1.Image = Properties.Resources.buso_renkin_icon;
    8.             else button1.Image = Properties.Resources.card_captor_icon;
    9.        
    10.         }
    11.  
    12.         private void button1_Click(object sender, EventArgs e)
    13.         {
    14.             if (trangthai == 0)
    15.                 button1.Image = Properties.Resources.chobits_icon;
    16.             trangthai = 1;
    17.  
    18.  
    19.         }
    20.         private void button1_MouseEnter(object sender, EventArgs e)//di chuot vao
    21.         {
    22.             button1.Image = Properties.Resources.card_captor_icon;
    23.             trangthai = 0;
    24.         }
    Đã được chỉnh sửa lần cuối bởi nhatminh266 : 04-10-2011 lúc 10:55 PM.
    C++ Code:
    1. int BanHoc=1, BanBiet=10;
    2.     if(BanHoc==0)
    3.         cout <<"Ban nen di hoc!";
    4.     else
    5.         if(BanBiet==10)
    6.             cout <<"Ban qua pro!";

  5. #5
    Ngày gia nhập
    02 2011
    Bài viết
    22

    @nhatminh266:thx bạn, mình đã làm dc, nhưng ở đây xảy ra 1 TH mình không nghĩ tới là TH sau khi click, mình rê chuột lại thì nó trở lại TH rê và di chuột rời ra btn, mình chưa xử lí dc.
    Mục đích mình làm là: btn A chỉ trở lại hình ban đầu khi mình click btn B, có nghĩa là nếu click A thì đổi hình chít cứng lun, event mouseleave sẽ không run được (ở đây là thiếu sót của mình do lúc đầu mình nói không kĩ )
    đây là code 2 btn A, btn B tương tự
    btw: G9
    Visual C# Code:
    1. int trangthai = 0;
    2.        
    3.  
    4.         private void button1_MouseLeave(object sender, EventArgs e)
    5.         {
    6.             if (trangthai == 0)
    7.                 button1.Image = Properties.Resources.buso_renkin_icon;
    8.             else button1.Image = Properties.Resources.card_captor_icon;
    9.         }
    10.  
    11.        
    12.         private void button1_MouseEnter(object sender, EventArgs e)
    13.         {
    14.             button1.Image = Properties.Resources.card_captor_icon;
    15.             trangthai = 0;
    16.         }
    17.  
    18.          private void button1_MouseClick(object sender, MouseEventArgs e)
    19.         {
    20.             if (trangthai == 0)
    21.             {
    22.                 button1.Image = Properties.Resources.card_captor_icon;
    23.                 button2.Image = Properties.Resources.chobits_icon;
    24.             }
    25.             trangthai = 1;
    26.         }
    Attached Files Attached Files

  6. #6
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    Mặc định làm sao kết hợp event mousemove,mouseclick,mouseleave?

    của bạn đây
    Visual C# Code:
    1. int trangthai = 0;
    2.         private void button1_MouseLeave(object sender, EventArgs e)
    3.         {
    4.             if (trangthai == 0)
    5.                 button1.Image = Properties.Resources.buso_renkin_icon;
    6.              if (trangthai == 1)
    7.                 button1.Image = Properties.Resources.chobits_icon;
    8.              if (trangthai == 2)
    9.                 button1.Image = Properties.Resources.card_captor_icon;
    10.         }
    11.         private void button1_Click(object sender, EventArgs e)
    12.         {
    13.  
    14.             button1.Image = Properties.Resources.chobits_icon;
    15.            
    16.             trangthai = 1;
    17.            
    18.         }
    19.         private void button1_MouseEnter(object sender, EventArgs e)
    20.         {
    21.             if (trangthai == 0)
    22.                 button1.Image = Properties.Resources.card_captor_icon;
    23.             if (trangthai == 1)
    24.                 button1.Image = Properties.Resources.chobits_icon;
    25.             if (trangthai == 2)
    26.                 button1.Image = Properties.Resources.akira_icon;
    27.                
    28.         }
    29.  
    30.         private void button2_Click(object sender, EventArgs e)
    31.         {
    32.             button1.Image = Properties.Resources.buso_renkin_icon;
    33.             trangthai = 0;
    34.         }
    Đã được chỉnh sửa lần cuối bởi nhatminh266 : 05-10-2011 lúc 10:05 PM.
    C++ Code:
    1. int BanHoc=1, BanBiet=10;
    2.     if(BanHoc==0)
    3.         cout <<"Ban nen di hoc!";
    4.     else
    5.         if(BanBiet==10)
    6.             cout <<"Ban qua pro!";

  7. #7
    Ngày gia nhập
    09 2011
    Nơi ở
    Registry
    Bài viết
    43

    Mặc định Chương trình của mình nè

    không biết có phải ý của bạn như vậy không?
    Attached Files Attached Files
    C++ Code:
    1. int BanHoc=1, BanBiet=10;
    2.     if(BanHoc==0)
    3.         cout <<"Ban nen di hoc!";
    4.     else
    5.         if(BanBiet==10)
    6.             cout <<"Ban qua pro!";

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

    tối qua mình có lên coi nhưng bận nên chưa làm tiếp được, hôm nay lại thấy cm của bạn, đúng ý mình rồi đó , thx bạn nhiều

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

  1. công ty event, công ty sự kiện, cho thuê thiết bị event Phú Tinh
    Gửi bởi VMHGroup trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 22-10-2011, 10:22 PM
  2. Thắc mắc về MouseClick khi sử dụng OpenGL trong C#
    Gửi bởi tieuyeu_ht91 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 21-02-2011, 01:18 AM
  3. Event MouseClick trên control Webbrowser.
    Gửi bởi luuductu trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 07-12-2010, 11:28 PM
  4. Xử lý sự kiện Mousemove ?
    Gửi bởi kUn_shOck trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 25-10-2010, 08:39 PM
  5. Xin hướng dẫn cách sử dụng thủ tục MouseMove cho button
    Gửi bởi tranngoctanhung trong diễn đàn Thắc mắc chung
    Trả lời: 1
    Bài viết cuối: 22-02-2009, 10:34 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