-1

FlowLayout に Pictureboxes を設定しています。移入すると、それぞれにツールチップが表示されます。写真を変更する別の機能がありますが、ツールチップも変更するにはどうすればよいですか?

dim laytt as tooltip = new tooltip

For i = 1 To count
        Dim newPic As PictureBox = New PictureBox()
        newPic.Image = p.Image
        newPic.Size = p.Size
        newPic.SizeMode = p.SizeMode

        laytt.SetToolTip(newPic, ttstring)

        AddHandler newPic.Click, AddressOf LayoutComponent_Clicked

        sys.Add(a_component)

        LayoutFlowLayout.Controls.Add(newPic)
Next

後で私はその中の写真を変更する機能を持っています ツールチップを変更できるようにしたい

Private Sub LayoutComponent_Clicked(ByVal sender As Object, ByVal e As EventArgs)

    Dim i As Integer = LayoutFlowLayout.Controls.IndexOf(sender)

    If deleteModeOn Then
        sys.components.RemoveAt(i)
        LayoutFlowLayout.Controls.RemoveAt(i)
        Exit Sub
    End If

    'get index in sys from layout?


    If (sys.components.Item(i).GetType() = GetType(Transpositor)) Then
        Form2.ShowDialog(Me)
        sys.components.Item(i).divert = tempTranspositorDivert

        'here I want to do something like this
        laytt.RemoveAt(i) <--- THIS DOESN'T EXIST

    End If

End Sub

TL;DR 特定のインデックスで 1 つのツールチップ テキストのみを削除/変更したい

4

1 に答える 1

2

senderパラメータはクリックされた画像ボックスコントロールであるため、その変数を使用して、変更するコントロールを指定できます。たとえば、これによりツールチップが削除されます。

laytt.SetToolTip(sender, Nothing)

これはそれを変更します:

laytt.SetToolTip(sender, "new value")
于 2012-10-05T15:58:15.997 に答える