Domanda

Nel nostro progetto, SharpWired, stiamo cercando di creare un componente di download simile alle finestre di download di Firefox o Safari.Cioè, un unico elenco dall'alto verso il basso di download che sono controlli personalizzati contenenti barre di avanzamento, pulsanti e altro.

I requisiti sono che ci sia un unico elenco, con un elemento su ogni riga.Ogni elemento deve essere un controllo personalizzato.L'intero elenco dovrebbe essere ridimensionabile dinamicamente, in modo che quando lo allunghi/accorci l'elenco aggiunga una barra di scorrimento quando necessario e quando lo rendi più sottile/largo i controlli personalizzati dovrebbero ridimensionarsi in base alla larghezza dell'elenco.

Abbiamo provato a utilizzare a FlowLayoutPanel ma non siamo riusciti a far sì che il ridimensionamento funzioni come vorremmo.Preferibilmente dovremmo solo impostare l'ancoraggio dei controlli personalizzati su Sinistra e Destra.Abbiamo anche pensato di utilizzare a TableLayoutPanel ma finora ho riscontrato che l'aggiunta dinamica di righe è un sovraccarico troppo grande.

Questo deve essere un caso d'uso abbastanza comune e mi sembra un po' strano che il file FlowLayoutPanel non ha un modo intuitivo per farlo. Qualcuno ha fatto qualcosa di simile o ha suggerimenti o trucchi per iniziare?

Saluti!
/Adamo

È stato utile?

Soluzione

Se non si desidera utilizzare l'associazione dati (tramite il file DataRepeater control, come menzionato sopra), potresti usare un file normale Panel controllalo e impostalo AutoScroll proprietà su true (per abilitare le barre di scorrimento).

Quindi, puoi aggiungere manualmente i controlli personalizzati e impostare il file Dock proprietà di ciascuno a Top.

Altri suggerimenti

.NET 3.5 SP1 ha introdotto a Ripetitore di dati Controllo Windows Form che sembra fare quello che vuoi.Associalo all'elenco dei "download" (o qualunque cosa rappresenti l'elenco) e personalizza ciascun pannello degli elementi per includere i controlli di cui hai bisogno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top