2011-10-25 48 views
5

Tôi đang cố gắng hiển thị chú giải công cụ trên hộp văn bản bị tắt trong khi di chuột qua. Tôi biết vì điều khiển bị vô hiệu hóa những điều sau đây sẽ không hoạt động:C# Hiển thị chú giải công cụ trên hộp văn bản bị tắt (Biểu mẫu)

private void textBox5_MouseHover(object sender, EventArgs e) 
{ 
     // My tooltip display code here 
} 

Làm cách nào để hiển thị chú giải công cụ trên chuột qua điều khiển bị vô hiệu hóa?

Rất cám ơn

Trả lời

16

MouseHover sẽ không kích hoạt nếu điều khiển bị tắt. Thay vào đó bạn có thể kiểm tra trong trường hợp Form MouseMove cho dù bạn di chuột vào hộp văn

public Form1() 
    { 
     InitializeComponent(); 
     textBox1.Enabled = false; 
     toolTip.InitialDelay = 0; 
    } 

    private ToolTip toolTip = new ToolTip(); 
    private bool isShown = false; 

    private void Form1_MouseMove(object sender, MouseEventArgs e) 
    { 
     if(textBox1 == this.GetChildAtPoint(e.Location)) 
     { 
      if(!isShown) 
      { 
       toolTip.Show("MyToolTip", this, e.Location); 
       isShown = true; 
      } 
     } 
     else 
     { 
      toolTip.Hide(textBox1); 
      isShown = false; 
     } 
    } 

enter image description here

+0

Cảm ơn bạn rất nhiều! – tripbrock

+0

Một ý tưởng nữa - làm thế nào điều này sẽ được áp dụng cho một hộp văn bản trong một hộp nhóm? – tripbrock

+2

sau đó bạn nên đăng nhập cho sự kiện GroupBox MouseMove và thực hiện tương tự như đối với Biểu mẫu – Stecya

0

Bạn cũng có thể kéo một đối tượng ToolTip từ hộp công cụ trong thiết kế vào biểu mẫu. Sau đó, trong mã bạn chỉ cần gọi SetToolTip() và chuyển vào nút hoặc hộp văn bản, v.v. bạn muốn mẹo công cụ được gán cho và văn bản bạn muốn hiển thị.

myToolTip.SetToolTip(myTextBox, "You just hovered over myTextBox!"); 
+2

Ngoại trừ khi điều khiển bị tắt, bạn sẽ không thấy mẹo công cụ. Đó là điểm của câu hỏi của anh ấy. –

Các vấn đề liên quan