2012-04-10 5 views
7

Devo regolare l'altezza della casella di testo in modo che sia adatta al touchscreen.Come posso aumentare l'altezza di una casella di testo senza Multiline = "true" o incrementando la dimensione del carattere?

Capisco che la gente raccomandi Multiline = "true" ma se lo faccio, il testo all'interno della scatola è giustificato con la parte superiore che non è corretta nella mia applicazione.

Ho cercato di regolare la dimensione del carattere, ma le dimensioni dovrebbero essere ridicolmente enormi per adattarsi all'altezza per le mie esigenze.

C'è un altro modo per aumentare l'altezza della casella di testo?

+0

Si potrebbe usare il padding, che farà crescere la casella di testo _e_ lo giustificherà "normalmente", penso. –

+0

@david Questo non è stato pensato correttamente: non abbiamo 'Padding' per TextBox in WinForms. –

risposta

8

Prova questa:

textBox1.AutoSize = false; 

Non apparirà nel intellisense, ma funzionerà.

Per farlo funzionare con il progettista, si dovrebbe fare il vostro proprio TextBox:

public class TextBoxEx : TextBox { 
    public TextBoxEx() { 
    this.AutoSize = false; 
    } 
} 
+0

Funziona ma il testo è allineato con la parte superiore e non posso modificare il suo allineamento verticale. Qualche idea su come allineare verticalmente il testo? –

+1

@david L'unico altro modo è quello di prendere un TextBox senza bordi e posizionarlo all'interno di un controllo utente con lo stesso BackColor, quindi gestire il posizionamento del controllo TextBox entro i confini di UserControl quando viene ridimensionato. Non ideale, perdi i bordi della TextBox con i loro stili visivi. WinForms non è buono in questo mentre WPF gestisce meglio questo. – LarsTech

+1

@LarsTech Rendere la casella di testo più grande non sembra adattarsi a ciò che l'OP sta cercando. Vuole davvero che la casella di testo sia più grande, quindi è più facile da toccare. – McKay

0

passi trucco:

  1. Impostare la linea multipla = true
  2. Non c'è bisogno di cambia la dimensione del carattere.
  3. modificare la lunghezza massima. in modo che non dovrebbe entrare nella riga successiva.
Problemi correlati