Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Come visualizzare la barra dello scroll orizzontale in un panel di un oggetto splitContainer
Forum - C# / VB.NET - Come visualizzare la barra dello scroll orizzontale in un panel di un oggetto splitContainer

Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 12:03
Venerdì, 17/09/2021
Buongiorno a tutti
Ho uno splitContainer di tipo Verticale con due Panel. In ciascun panel è posta una ListView. Ciascuna contenente gli stessi dati. Diciamo che la seconda listview2 posta nel panel2 visualizza i dati presi dalla listview1 nel panel1 e li mostra secondo un certo filtro.
Tutto funziona come da aspettative. Trovo solo che nel panel1 viene mostrata la barra di scorrimento orizzontale che consente di far scorrere la listview1 verso dx o verso sx. La stessa cosa accade se si usa invece la rotellina del mouse.
Bene. Nel panel2 invece la barra orizzontale non viene mostrata e lo scorrimento è possibile solo con la rotellina del mouse.
Le proprietà dei panel sono identiche, le proprietà delle due listview sono identiche.
Via codice ho provato a fare una cosa del genere caricata la form:

Codice sorgente - presumibilmente VB.NET

  1. Dim hs2 As HScrollProperties
  2.       Dim hs1 As HScrollProperties
  3.       hs2 = SplitContainer1.Panel2.HorizontalScroll
  4.       hs1 = SplitContainer1.Panel1.HorizontalScroll


così ho potuto espandere i due oggetti e verificarne le proprietà (che tra l'altro non sono modificabili) ed ho visto che sono identiche.
Quale può essere la diversità di comportamento?
Questi oggetti sia in fase di progettazione che a runtime non espongono una proprietà del tipo HScroll (true o false) settabile.
Qualcuno sa darmi una qualche spiegazione?
Grazie in anticipo e buona giornata.

Ultima modifica effettuata da alip1 il 17/09/2021 alle 12:05
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1345
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 12:16
Venerdì, 17/09/2021
devi settare la proprietà dei panel, in progettazione: autoscroll = true
oppure da codice. (non devi dichiarare una variabile)
Codice sorgente - presumibilmente C# / VB.NET

  1. SplitContainer1.Panel1.AutoScroll = True
  2. SplitContainer1.Panel2.AutoScroll = True




Sarebbe meglio impostare la proprietà delle listview: Dock a Fill, in modo che quando muovi lo split, le listview si uniformano allo spazio disponibile...

Ultima modifica effettuata da Carlo il 17/09/2021 alle 12:38


in programmazione tutto è permesso
PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 13:44
Venerdì, 17/09/2021
Testo quotato

Postato originariamente da Carlo:

devi settare la proprietà dei panel, in progettazione: autoscroll = true
oppure da codice. (non devi dichiarare una variabile)
Codice sorgente - presumibilmente C# / VB.NET

  1. SplitContainer1.Panel1.AutoScroll = True
  2. SplitContainer1.Panel2.AutoScroll = True




Sarebbe meglio impostare la proprietà delle listview: Dock a Fill, in modo che quando muovi lo split, le listview si uniformano allo spazio disponibile...



Grazie Carlo.

E' già tutto così... eppure la barra orizzontale in quella inferiore non appare... ho controllato anche via codice e le proprietà autoscroll di entrambi è TRUE.
Ho provato ad aggiungere una nuova colonna alla listview2 ... ma rimane tutto uguale,,,  si può scorrere solo con la rotellina .. Non so proprio cosa dire..
Grazie

Ultima modifica effettuata da alip1 il 17/09/2021 alle 13:45
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1345
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 20:49
Venerdì, 17/09/2021
Ho compilato due eseguibili

SplitterListviewNoDock.exe
Come credo di aver capito lo vuoi tu, se ridimensioni il form e i panel diventano più piccoli delle listview appaiono le scrollbar, sia verticale che orizzontale.

SplitterListviewDock.exe
Come farei io, le listview riempiono sempre i panel e le scrollbar compaiono sulle listview.

Controlla se funzionano, poi cerchiamo di capire perché non funziona il tuo.


Carlo ha allegato un file: Splitter.zip (13837 bytes)
Clicca qui per scaricare il file


in programmazione tutto è permesso
PM Quote
Avatar
alip1 (Normal User)
Pro


Messaggi: 139
Iscritto: 12/08/2019

Segnala al moderatore
Postato alle 11:14
Sabato, 18/09/2021
Testo quotato

Postato originariamente da Carlo:

Ho compilato due eseguibili

SplitterListviewNoDock.exe
Come credo di aver capito lo vuoi tu, se ridimensioni il form e i panel diventano più piccoli delle listview appaiono le scrollbar, sia verticale che orizzontale.

SplitterListviewDock.exe
Come farei io, le listview riempiono sempre i panel e le scrollbar compaiono sulle listview.

Controlla se funzionano, poi cerchiamo di capire perché non funziona il tuo.



ok Grazie provo...

PM Quote