首页 > 解决方案 > 用于 HelpProvider 时 LinkLabel 的控制属性

问题描述

我正在使用 Visual Studio 2017,在 VB 中工作。我正在链接到一个 .CHM 文件,该文件LinkLabel适用于以下代码:

Private Sub LinkLabel2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkLabel2.Click
    ' Create link to help file
    System.Windows.Forms.Help.ShowHelp(Me, "RPM_Help.chm", HelpNavigator.AssociateIndex)
End Sub

我使用一个简单的图像来指示大小为 32x32 像素的 .chm 文件的链接,我一直在使用它的属性,LinkLabel2但我只是不知道如何使整个标签成为链接空间。我确实发现,除非标签上有 Text 属性,否则不会显示 MouseOver 光标,但是如何使整个标签图像成为光标链接?

标签: vb.netchm

解决方案


如下面的代码和图像所示,可以通过LinkLabel2.AutoSize = False在设计模式下使用并添加来自 Common Controls 的 ToolTip 到表单来解决此问题。

每个控件,例如按钮和文本框,都将ToolTip on toolTip1在您添加toolTip1到设计器视图时获得一个属性。您可以在“属性”窗格中访问此属性以设置工具提示。

Public Class frmMain

  Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    LinkLabel2.BackColor = Color.CornflowerBlue
    LinkLabel2.AutoSize = False
    LinkLabel2.Width = 168
    LinkLabel2.Height = 40
    LinkLabel2.Text = ""
  End Sub

  Private Sub LinkLabel1_Click(sender As Object, e As EventArgs) Handles LinkLabel1.Click
    ' --- Open help file - Table of contents
    System.Windows.Forms.Help.ShowHelp(Me, "hlp/CHM-example.chm", HelpNavigator.TableOfContents)
  End Sub

  Private Sub LinkLabel2_Click(sender As Object, e As EventArgs) Handles LinkLabel2.Click
    ' --- Open help file - Index
    System.Windows.Forms.Help.ShowHelp(Me, "hlp/CHM-example.chm", HelpNavigator.Index)
  End Sub

  Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
    ' --- Open help file - Search
    System.Windows.Forms.Help.ShowHelp(Me, "hlp/CHM-example.chm", HelpNavigator.Find, "")
  End Sub    

  Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
    Me.Close()
  End Sub

End Class

该代码对应于显示的图像。当然,这些值也可以通过属性设置,但此处包含在 FormLoad 中以供文档使用。

您可能希望使用一个简单的PictureBox1_Click事件来满足您的需要,如下所示(“显示帮助”组框中的第三项)。

在此处输入图像描述


推荐阅读