Cercasi soluzione migliore per un form

martedì 16 luglio 2013 - 15.14
Tag Elenco Tags  C#  |  .NET 3.5  |  .NET 4.0  |  Windows 7

pixelpix Profilo | Newbie

Il mio problema è semplice. In un form devo visualizzare del testo (la parte visualizzata deve essere limitata) con un indicatore che segna un punto preciso del testo.

abcdefghilmnopqrstuvz
-------------^-------------

Devo poi aggiungere due pulsanti di scorrimento a destra e sinistra del testo e devo fare in modo che lo scroll avvenga di un solo carattere per volta. Es. se dalla figura di prima mi sposto a destra di due caratteri a video avrò:

xyabcdefghilmnopqrstu
-------------^-------------

Quindi l'indicatore punterà sulla "i" e a destra è scomparso "vz" e a sinistra è comparso "xy".
Oltre tutto devo poter far si che alcuni caratteri siano visualizzati con un colore diverso rispetto a quello del resto del testo.

A questo punto le mie domande sono:
1) quale controllo sarebbe la soluzione migliore da utilizzare per realizzare questo: una label, un textbox o un richtextbox?
2) E' possibile gestire lo scroll con dei metodi dei controlli senza dover implementarne di propri? Del tipo, senza che io mi metta a reimpostare la stringa da visualizzare e ridisegnarla ogni volta con eventuali problemi di flickering.

Grazie anticipate per tutti i vostri consigli.



alx_81 Profilo | Guru

>1) quale controllo sarebbe la soluzione migliore da utilizzare
>per realizzare questo: una label, un textbox o un richtextbox?
se parli di Windows Forms, non hai a mio avviso tante scelte. Se parli di WPF il discorso cambia.

>2) E' possibile gestire lo scroll con dei metodi dei controlli
>senza dover implementarne di propri? Del tipo, senza che io mi
>metta a reimpostare la stringa da visualizzare e ridisegnarla
>ogni volta con eventuali problemi di flickering.
L'idea di base potrebbe essere comporre la stringa come una lista di char e poi utilizzare un controllo lista (iteratore anche) per gestire gli scroll (come una listbox orizzontale).

>Grazie anticipate per tutti i vostri consigli.
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

pixelpix Profilo | Newbie

Purtroppo parlo proprio di Windows Forms . Considera che sviluppo in c# utilizzando SharpDevelop.
La mia idea iniziale era quella di gestire due stringhe, una che contiene la sequenza di caratteri completa ed una che contiene solo una parte della sequenza che è anche quella che viene visualizzata. Poi, per gestire lo scroll avevo pensato di mettere i pulsanti per destra e sinistra e ogni volta ricalcolare la sequenza da visualizzare e ridisegnarla nel controllo. Solo che con questa soluzione ho il timore che alla fine tutto questo "ridisegnare" possa creare del flickering .
Questo era il motivo che mi ha spinto a chiedere se ci fossero altre alternative.
Rimane comunque il fatto che oltre a poter selezionare alcuni elementi devo anche avere la possibilità di visualizzarli con colori diversi.
Ad ogni modo grazie per il suggerimento sulla listbox, ora me la studio e vedo se posso utilizzarla.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5