movimentazione modifiche dell'orientamento efficace per tutti i controlli con piccolo cambiamento codice

StackOverflow https://stackoverflow.com/questions/2240941

Domanda

Ho un progetto Windows Mobile costruito in C #.

Ho un sacco di forme ready made con vari controlli su di esso, da listviews a Editfields. Quando l'utente cambia l'orientamento di alcuni elementi non sono rinfrescante correttamente. Per esempio colonne della Listview sono uguali e non ospitare il nuovo cambiamento larghezza dello schermo (barre di scorrimento appaiono o metà dello schermo è pieno).

Come si fa a gestire questi cambiamenti?
Ho bisogno di chiamare per ogni forma queste correzioni a mano, o posso creare una sorta di modo globale per risolvere questo problema? Vorrei andare con il metodo più semplice, se possibile.

Vorrei evitare il modo classico, per aggiungere il codice a tutti i miei forme. Così sto cercando modi migliori, e mi piacerebbe vedere più idee.

È stato utile?

Soluzione

Sto assumendo che la maggior parte dei controlli utilizzano un DockStyle, e che ti porterà il 90% della strada in termini di aggiornamento della GUI sui cambiamenti di orientamento. Per il ListView, dovrete aggiungere qualche codice.

È possibile aggiungere un gestore di eventi su Form.Resize, e non ci mettere in codice per ridimensionare le colonne ListView. Si può dire ritratto vs paesaggio confrontando larghezza vs altezza. C'è anche un modo per aggiungere un gestore di eventi su un cambiamento di orientamento vero e proprio, ma è di interoperabilità e io non ricordo il codice estemporaneo. Form.Resize dovrebbe essere sufficiente per la maggior parte dei casi.

È possibile controllare un esempio qui

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