Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    200

    Scroll di una listview

    Salve a tutti,
    sto realizzando un applicazione in vb.net ed è sorto il seguente problema :
    ho una listView che utilizzo per visualizzare tutti i miei appuntamenti, e per migliorare la grafica ho inserito alcune label,textBox e pannelli all'interno della listview.
    La listview è più grande delle dimensioni dello schermo e non posso utilizzare lo scroll della listview altrimenti label e textBox non si spostano con la listview.
    Quindi ho utilizzato una scrollBar aggiuntiva e sposto listview e tutti quello che contiene. Il problema è che con lo scroll che ho aggiunto il movimento del tutto è poco fluido, pessimo direi.
    Qualcuno mi sa dare qualche idea alternativa o una soluzione.
    Grazie

  2. #2
    Quando scrolli usi Application.DoEvents() ?

    Inoltre potresti lavorare nel metodo onPaint della ListView, ma il lavoro diventa tosto, perchè è come se ti crei tu la ListView come un nuovo COMponente

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da Abraxas606
    sto realizzando un applicazione in vb.net ed è sorto il seguente problema [...]
    Il linguaggio di programmazione e la sua versione va indicato anche nel titolo della discussione.

    Tienilo a mente per il futuro. Questa la correggo io.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    200
    Scusate per il titolo, grazie per la correzione
    Oggi non ci sto proprio con la testa...

    Tornando allo scroll, quando scrollo uso l'evento scroll della scrollBar,spostando la posizione della listview del valore ritornato dalla scrollBar.
    Il codice è questo:

    Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll

    Dim newPos As Point
    Dim newposlbl As Point

    'scroll variabile globale integer
    scroll = Me.HScrollBar1.Value

    'calcolo le nuove posizioni
    newPos.X = posizione.X - scroll
    newPos.Y = posizione.Y
    newposlbl.X = posizione.X - scroll
    newposlbl.Y = LabelUpEat.Location.Y

    'sposto label e listview nella nuova posizione
    Me.LabelUpEat.Location = newposlbl
    Me.LstViewCalendar.Location = newPos

    End If

  5. #5
    Prova cosi' e mi fai sapere

    codice:
    Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
    
    Dim newPos As Point
    Dim newposlbl As Point
    
    'scroll variabile globale integer
    scroll = Me.HScrollBar1.Value
    
    'calcolo le nuove posizioni
    newPos.X = posizione.X - scroll
    newPos.Y = posizione.Y
    newposlbl.X = posizione.X - scroll
    newposlbl.Y = LabelUpEat.Location.Y
    
    'sposto label e listview nella nuova posizione
    Me.LabelUpEat.Location = newposlbl
    Application.DoEvents()
    Me.LstViewCalendar.Location = newPos
    Application.DoEvents()
    End If

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    200
    Ho provato ma cambia poco.
    Quando inizio va molto a scatti lo spostamento, poi diventa sempre più fluido però.

  7. #7
    Allora devi lavorare nel motodo onPaint, creando un COntrollo Ereditato ...

    Buon Lavoro.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.