vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Tooltip mit Bild anzeigen 
Autor: Manfred X
Datum: 24.03.15 23:53

Tooltips können auf diese Weise nur einem Control zugeordnet werden.
Aber mit einer Picturebox und einem Timer läßt sich die Tooltip-Funktionalität
nachbauen - etwa so ....
Public Class frmGridRow_PicTip
 
    Dim dt As New DataTable
 
    Dim WithEvents dgv As New DataGridView With _
        {.Parent = Me, .Dock = DockStyle.Fill, _
         .AllowUserToAddRows = False}
 
    'Picturebox für Bildanzeige
    Dim img As New PictureBox With _
        {.Parent = dgv, .Visible = False}
 
    Dim WithEvents timTip As New Timer With _
        {.Interval = 250, .Enabled = True}
 
    'Array mit den Bildern für die Grid-Zeilen
    Dim pictip() As Image
 
 
    Private Sub frmGridTip_Load(sender As System.Object, _
                                e As System.EventArgs) Handles MyBase.Load
 
        'Testdaten erzeugen
        dt.Columns.Add("SP1")
        dt.Columns.Add("SP2")
 
        ReDim pictip(9)
 
        For i As Integer = 0 To 8
            'Zeilen erstellen
            dt.Rows.Add("Zelle " & (i + 1).ToString & "1", _
                        "Zelle " & (i + 1).ToString & "2")
 
            'Für jede Zeile eine Bitmap erstellen, die als Tooltip fungiert
            pictip(i) = New Bitmap(100, 60)
            Using g As Graphics = _
               Graphics.FromImage(pictip(i)), br As New SolidBrush( _
               dgv.ForeColor)
               g.Clear(Color.Yellow)
               g.DrawString("Zeile " & CStr(i + 1), dgv.Font, br, 4, 4)
            End Using
        Next i
 
        dgv.DataSource = dt
    End Sub
 
    Dim displaytime As Date 'Zeitpunkt für Tip-Anzeige
 
 
    Private Sub timTip_Tick(sender As Object, _
        e As System.EventArgs) Handles timTip.Tick
 
        'Zeitdauer seit dem Tipp-Zeitpunkt
        Dim displayed As New TimeSpan(Now.Ticks - displaytime.Ticks)
 
        'Zeitsteuerung
        Select Case displayed
            Case Is < New TimeSpan(0, 0, 2)
                'Der Tipp-Zeitpunkt liegt weniger als 2 Sekunden zurück
                img.Visible = False
            Case Is < New TimeSpan(0, 0, 6)
                'Der Tipp-Zeitpunkt liegt 2-6 Sekunden zurück
                img.Visible = True
            Case Else
                img.Visible = False
        End Select
 
    End Sub
 
 
    Private Sub dgv_MouseMove(sender As Object, _
        e As System.EventArgs) Handles dgv.MouseMove
 
        'Umrechnung Mausposition (Screen-Koordinaten) 
        'auf Grid-Koordinaten
        Dim xy As Point = PointToClient _
            (New Point(MousePosition.X, MousePosition.Y))
 
        'Klasse unter der Maus ermitteln
        Dim hti As DataGridView.HitTestInfo = dgv.HitTest(xy.X, xy.Y)
 
        Static rowindex As Integer = -1 'aktuelle Zeile merken
 
        If hti.RowIndex = -1 Then
            'Keine Gridzeile unter der Maus
            img.Visible = False
            rowindex = -1
        ElseIf Not hti.RowIndex = rowindex Then
 
            'Die Maus bewegt sich über einer neuen Zeile ....
            rowindex = hti.RowIndex
 
            'Zeilenbez. Bild auf Picturebox zuweisen
            img.Image = pictip(rowindex)
 
            'Picturebox positionieren
            img.Location = _
              New Point(xy.X + 5, hti.rowY + dgv.Rows(rowindex).Height)
 
            'Tipp-Zeitpunkt notieren
            displaytime = Now
        End If
    End Sub
 
End Class


Beitrag wurde zuletzt am 25.03.15 um 00:14:04 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tooltip mit Bild anzeigen2.504OttoR23.03.15 00:32
Re: Tooltip mit Bild anzeigen1.910Manfred X23.03.15 05:00
Re: Tooltip mit Bild anzeigen1.766OttoR23.03.15 23:53
Re: Tooltip mit Bild anzeigen1.888OttoR24.03.15 00:16
Re: Tooltip mit Bild anzeigen2.212OttoR24.03.15 21:24
Re: Tooltip mit Bild anzeigen1.917Manfred X24.03.15 23:53
Re: Tooltip mit Bild anzeigen1.707henrikl200027.03.15 16:17
Re: Tooltip mit Bild anzeigen1.668Manfred X27.03.15 20:18

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel