Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Rendere TextBox non selezionabile C#

    Salve.
    Qualcuno sa dirmi come rendere non selezionabile un TextBox.
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    A quale scopo??
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Per far si che cio che ci sia scritto non possa essere copiato con un semplice copia-incolla.
    Ho provato a vedere nelle proprietà del TextBox, ma ammeno che non bisogna fare più abbinamenti per avere un effetto voluto, non sono riuscito a trovarlo.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Come hai già visto non esiste nessuna proprietà, che non sia di sola lettura, che ti permette di non selezionare il testo, e in effetti non si può. Ma si può aggirare l'ostacolo in questo modo:

    -Eliminare il menù del pulsante destro della textbox, aggiungendo al progetto un ContextMenuStrip vuoto e assegnarlo alla textbox
    - Aggiungere queste poche righe

    codice:
    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
            If TextBox1.SelectedText.Length > 0 Then
                TextBox1.SelectionLength = 0
            End If
        End Sub
    
        Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
            TextBox1_KeyDown(Nothing, Nothing)
        End Sub
    prova.
    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ciao Pirelli72.
    Ho riscritto il codice per il C# solo che mi da errore alla riga:
    codice:
    TextBox1_KeyDown(Nothing, Nothing)
    Praticamente mi dice : 'Il nome 'Nothing' non esiste nel contesto corrente'
    Devo applicare una using? Se si quale?
    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Azzz scusa il codice era per VB.NET. Pardon

    codice:
    private void TextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    	if (TextBox1.SelectedText.Length > 0) {
    		TextBox1.SelectionLength = 0;
    	}
    }
    
    private void TextBox1_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    	TextBox1_KeyDown(null, null);
    }
    Sbagliare è umano, perseverare è diabolico.

  7. #7
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ho provato anche come mi hai postato, non mi da più errori ma continua lo stesso a selezionare la casella di textbox, questo è il codice:
    codice:
            private void txtVisual_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
            {
                if (txtVisual.SelectedText.Length > 0)
                {
                    txtVisual.SelectionLength = 0;
                }
            }
    
            private void txtVisual_MouseClick(object sender,System.Windows.Forms.MouseEventArgs e)
            {
                txtVisual_KeyDown(null, null);
            }
    
            private void txtVisual_ContextMenuStripChanged(object sender, EventArgs e)
            {
    
            }
    Forse non ho capito bene la procedura di eliminare il menù del pulsante destro della textbox.

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Originariamente inviato da Pirelli72
    Azzz scusa il codice era per VB.NET. Pardon

    codice:
    private void TextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    	if (TextBox1.SelectedText.Length > 0) {
    		TextBox1.SelectionLength = 0;
    	}
    }
    
    private void TextBox1_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    	TextBox1_KeyDown(null, null);
    }
    Seleziona si ma non puoi più fare il copia/incolla! Hai provato?
    Sbagliare è umano, perseverare è diabolico.

  10. #10
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Scusa Pirelli72 non avevo provato solo che se faccio copia/incolla mi copia questa stringa:
    label1.Text = "M";
    Gibra disabilitando il textbox i simboli numerici non appaiono più ben marcati, ma da quell'effetto di trasparenza.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.