2012-10-05 3 views
-1

PictureBox로 FlowLayout을 채우고 있습니다. 나는 사람들에게 도구 설명을 제공합니다. 나는 사진을 바꾸기 위해 별도의 기능을 가지고 있는데 어떻게 툴팁을 바꿀 수 있습니까?하나의 툴팁 만 변경하는 방법은 무엇입니까?

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이 난에 하나의 도구 설명 텍스트를 변경/제거하려면 특정 인덱스

답변

2

sender 매개 변수는 클릭 한 그림 상자 컨트롤이므로 해당 변수를 사용하여 변경할 컨트롤을 지정할 수 있습니다. 예를 들어,이 도구 팁을 제거하지 않습니다 :

laytt.SetToolTip(sender, Nothing) 

이이 변경됩니다 :

laytt.SetToolTip(sender, "new value") 
+0

에는이 실제로 새로운 도구 팁을 추가합니다. 따라서이 시점에서 동일한 발신자에 대해 2 개의 툴팁이 표시됩니다. 이상한가? – Ervin

+0

MSDN에 따르면 안되며 빠른 테스트에서 또 하나를 추가하지 않았습니다. –

+0

당신 말이 맞아요. 나는 뚱뚱해 처음으로 그것을 손가락으로! 감사! – Ervin

관련 문제