Tôi muốn hiển thị chú giải công cụ khi chuột di chuột qua liên kết trong điều khiển chỉnh sửa tùy chỉnh phong phú của tôi. Hãy xem xét văn bản sau:Hiển thị chú giải công cụ trên di chuột của văn bản
Chúng tôi tất cả ngủ vào ban đêm.
Trong trường hợp của tôi từ ngủ là một liên kết.
Khi người dùng di chuyển chuột dưới liên kết, trong trường hợp này là "ngủ", tôi muốn hiển thị chú giải công cụ cho liên kết.
Sau đây đến tâm trí của tôi, nhưng họ không làm việc
1) Bẫy OnMouseHover
if(this.Cursor == Cursors.Hand)
tooltip.Show(textbox,"My tooltip");
else
tooltip.Hide(textbox);
Tuy nhiên, điều này không làm việc ra.
CẬP NHẬT
Các liên kết được đề cập là không URL, tức là đây là những liên kết tùy chỉnh, vì vậy Regex sẽ không giúp được gì nhiều ở đây, nó có thể được bất kỳ văn bản. Người dùng có thể chọn tạo liên kết đó.
Mặc dù tôi chưa thử phương pháp GetPosition
, tôi không nghĩ nó sẽ thanh lịch về thiết kế và bảo trì.
Hãy để tôi nói tôi có dòng sau, trong hộp Richedit tôi
Chúng tôi ngủ vào ban đêm. Nhưng những con dơi ở lại tỉnh táo. Gián trở thành hoạt động vào ban đêm.
Trong câu trên, tôi muốn ba chú giải công cụ khác nhau khi chuột di chuột qua chúng.
sleep -> Human beings
awake -> Nightwatchman here
active -> My day begins
Tôi bị mắc kẹt OnMouseMove
như sau:
làm việc nặng nhọc với MessageBox
OnMouseMove()
{
// check to see if the cursor is over a link
// though this is not the correct approach, I am worried why does not a tooltip show up
if(this.Cursor.current == Cursors.hand)
{
Messagebox.show("you are under a link");
}
}
Không làm việc - với Tooltip - Tooltip không hiển thị
OnMouseMove(MouseventArgs e)
{
if(cursor.current == cursors.hand)
{
tooltip.show(richeditbox,e.x,e.y,1000);
}
}
Điều này đã làm được điều đó .. tooltip.Active = true –
Oh Tôi đã không nhận ra vấn đề của bạn là chú giải công cụ ... Dù sao, hãy sử dụng System.Windows. Forms.Cursor.Current để tĩnh nhận con trỏ chuột hiện tại, như trong câu trả lời cuối cùng của tôi. – Shimmy