Có vẻ như Label
không có Hint
hoặc ToolTip
hoặc Hovertext
tài sản. Vậy phương pháp ưa thích để hiển thị gợi ý, chú giải công cụ hoặc văn bản di chuột khi chuột Label
tiếp cận là gì?
Có vẻ như Label
không có Hint
hoặc ToolTip
hoặc Hovertext
tài sản. Vậy phương pháp ưa thích để hiển thị gợi ý, chú giải công cụ hoặc văn bản di chuột khi chuột Label
tiếp cận là gì?
Câu trả lời:
Trước tiên, bạn phải thêm ToolTip
điều khiển vào biểu mẫu của mình. Sau đó, bạn có thể đặt văn bản mà nó sẽ hiển thị cho các điều khiển khác.
Đây là ảnh chụp màn hình cho thấy nhà thiết kế sau khi thêm một ToolTip
điều khiển được đặt tên toolTip1
:
ToolTip
điều khiển có thể tự đăng ký cho các sự kiện di chuột qua và hiển thị văn bản thích hợp tùy thuộc vào sự kiện được nêu ra. Tất cả điều này xảy ra trong nền.
yourToolTip = new ToolTip();
//The below are optional, of course,
yourToolTip.ToolTipIcon = ToolTipIcon.Info;
yourToolTip.IsBalloon = true;
yourToolTip.ShowAlways = true;
yourToolTip.SetToolTip(lblYourLabel,"Oooh, you put your mouse over me.");
Chỉ để chia sẻ ý tưởng của tôi ...
Tôi đã tạo một lớp tùy chỉnh để kế thừa lớp Nhãn. Tôi đã thêm một biến private được chỉ định làm lớp Tooltip và thuộc tính công khai, TooltipText. Sau đó, cung cấp cho nó một phương thức ủy quyền MouseEnter. Đây là một cách dễ dàng để làm việc với nhiều điều khiển Nhãn và không phải lo lắng về việc chỉ định điều khiển Chú giải công cụ của bạn cho mỗi điều khiển Nhãn.
public partial class ucLabel : Label
{
private ToolTip _tt = new ToolTip();
public string TooltipText { get; set; }
public ucLabel() : base() {
_tt.AutoPopDelay = 1500;
_tt.InitialDelay = 400;
// _tt.IsBalloon = true;
_tt.UseAnimation = true;
_tt.UseFading = true;
_tt.Active = true;
this.MouseEnter += new EventHandler(this.ucLabel_MouseEnter);
}
private void ucLabel_MouseEnter(object sender, EventArgs ea)
{
if (!string.IsNullOrEmpty(this.TooltipText))
{
_tt.SetToolTip(this, this.TooltipText);
_tt.Show(this.TooltipText, this.Parent);
}
}
}
Trong phương thức InitializeComponent của biểu mẫu hoặc điều khiển người dùng (mã Designer), hãy gán lại điều khiển Nhãn của bạn cho lớp tùy chỉnh:
this.lblMyLabel = new ucLabel();
Ngoài ra, hãy thay đổi tham chiếu biến private trong mã Designer:
private ucLabel lblMyLabel;