代码之家  ›  专栏  ›  技术社区  ›  ParkMoss

有没有一种简单的方法可以让Winforms LinkLabel作为标签显示?

  •  1
  • ParkMoss  · 技术社区  · 1 年前

    我正在考虑为我正在进行的项目添加一个链接,并想知道是否有一种简单的方法 LinkLabel (或者可能是另一个控件,如果有我可以使用的话)在某些条件下只是作为标签出现?

    我查看了一些文档,没有发现任何对我来说很突出的方法。现实地说,我可以设置 Enabled , DisabledLinkColor LinkBehavior 属性,使其看起来像一个标签,或者同时具有 链接标签 Label 并更改 Visible 属性。然而,这两种解决方案对我来说都不理想。因此,如果有不同的方式来执行此功能,任何见解都将不胜感激!

    1 回复  |  直到 1 年前
        1
  •  1
  •   dr.null    1 年前

    将的长度归零 LinkLabel.LinkArea 属性以禁用链接行为并将其显示为标准 Label 控制将长度重置为文本长度以恢复默认行为。

     [DesignerCategory("code")]
     public class LinkLabelEx : LinkLabel
     {
         private bool _linkEnabled = true;
    
         [DefaultValue(true)]
         public bool LinkEnabled
         {
             get => _linkEnabled;
             set
             {
                 if (_linkEnabled != value)
                 {                    
                     _linkEnabled = value;
                     LinkArea = new LinkArea(0, value ? Text.Length : 0);
                 }
             }
         }        
     }