C'è un modo per fare un un'etichetta in un modulo .NET di Windows per essere highlightable per consentire il testo da copiare. Ho provato a farlo con una casella di testo creata come un'etichetta, ma questo si traduce in un cursore lampeggiante.evidenziazione etichette Windows Form
risposta
Penso che questo è maledettamente vicino:
textBox.BackColor = System.Drawing.SystemColors.Control;
textBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
textBox.ReadOnly = true;
textBox.Text = "This is selectable text";
textBox.MouseUp += new MouseEventHandler(
delegate(object sender, MouseEventArgs e)
{ HideCaret((sender as Control).Handle); });
[DllImport("User32.dll")]
static extern Boolean HideCaret(IntPtr hWnd);
E se avete bisogno di includere più di una riga:
textBox.Multiline = true;
Non è insolito che il testo statico selezionabile mostri un cursore lampeggiante. Se ottieni le proprietà di qualsiasi file in Esplora risorse e selezioni tutti i dati in quella finestra, vedrai anche un cursore lampeggiante.
ho fatto in precedenza, un paio di anni fa, penso che ho usato questa chiamata API Win (ma con una casella di testo normale): http://www.dreamincode.net/forums/showtopic35107.htm
si ha la funzione di HideCaret in User32.dll. Usalo in questo modo:
[DllImport("User32.dll")]
static extern bool HideCaret(IntPtr hWnd);
private void textBox_Enter(object sender, EventArgs e)
{
HideCaret(textBox.Handle);
}
Ciò impedirà la visualizzazione del cursore quando è attiva la casella di testo.
Questo non funziona, non nasconderà il Caret. – Samuel
Una cosa da considerare è quello di andare avanti e di utilizzare un'etichetta, ma poi di programmazione copiare il contenuto (il testo del Label) nella clipboard usando:
Clipboard.SetText(yourLabel.Text);
OREI questo come "caratteristica". – Samuel
Bella generalizzazione. Molte volte ho trovato utile impostare a livello di codice il contenuto degli appunti. Forse lo stesso è vero per l'app dell'OP - senza ulteriori dettagli che tu o io non possiamo dire. Sto semplicemente presentando questa opzione. –
Il fatto che tu lo suggerisca anche come opzione suggerisce che hai zero esperienze nell'interazione con l'utente. – Samuel
Se si vuole che sia un prevedibile, ben educati e il controllo standard con tutta la tastiera e il supporto di collegamento è semplicemente necessario una casella di testo. E poi il cursore lampeggiante è una caratteristica utile, perché combatterlo?
- 1. Clic controllo utente - Windows Form
- 2. Passaggio da Windows Form a Web Form
- 3. Windows Form: cattura MouseWheel
- 4. Windows Form - ErrorProvider + DataGridView
- 5. Windows Form "Foro"
- 6. Windows Form Windows - intercettazione dell'evento Close X
- 7. Mappe con applicazione Windows Form
- 8. Abbellimento di un'applicazione Windows Form
- 9. Dal Windows Form a WPF
- 10. Jump Lists e Windows Form
- 11. Sospendi ridisegno di Windows Form
- 12. Barre dei menu Windows standard in Windows Form
- 13. Launch System Screensaver da C# Windows Form
- 14. Scelta dei caratteri per un'applicazione Windows Form
- 15. Aggiungi timer a un'applicazione Windows Form
- 16. Controllo WebBrowser di Windows Form e iframe
- 17. Come utilizzare Console.WriteLine() nell'applicazione Windows Form
- 18. Windows Form TextBox per mostrare le immagini
- 19. Come utilizzare Ninject in un'applicazione Windows Form?
- 20. Codice di uscita dall'app Windows Form
- 21. Evento Windows Form "Nella scheda Seleziona"?
- 22. WPF DataGrid Vs Windows Form DataGridView
- 23. Associazione dati a Windows Form TabControl
- 24. Ridimensionamento automatico dei controlli di Windows Form
- 25. Aggiorna etichetta durante l'elaborazione in Windows Form
- 26. È meglio utilizzare WPF su Windows Form?
- 27. Controllo pannello nascosto mobile per Windows Form
- 28. Implementazione di MVC con Windows Form
- 29. Disabilita ridimensionamento di un Windows Form
- 30. Panel vs GroupBox in un'applicazione Windows Form
L'unico controllo che posso trovare che consente la selezione del testo senza un cursore è il controllo WebBrowser. – BlueMonkMN