La définition de RichTextBox en tant que "ReadOnly" n'empêche pas les objets incorporés (comme les équations) d'être modifiés en double-cliquant dessus. Je pourrais désactiver le contrôle, mais il y a un fond gris (ne peut pas être simplement changé avec BackColor) et aucun moyen de faire défiler. J'ai essayé de surcharger OnDoubleClick dans une classe dérivée mais sans succès..NET Framework: Comment rendre RichTextBox true en lecture seule?
Répondre
Hmm ... Essayez simplement de régler Sellength sur 0 en double-clic. N'y at-il pas une propriété readonly/locked?
J'ai trouvé une solution! :) Dans une classe dérivée:
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0203) // WM_LBUTTONDBLCLK
{
// Do nothing
}
else
{
base.WndProc(ref m);
}
}
Solution intéressante ... –
Cela peut se faire comme suit
1) Définissez la propriété RichTextBox ReadOnly true
2) Aller à Propriétés-> Apparence-> BackColor et définir la couleur comme Fenêtre
ou simplement définir la propriété locked à true –
J'ai eu un problème similaire et la réponse d'Entrase était un bon début. Malheureusement, le contrôle permettait toujours de sélectionner du texte et de le supprimer. J'ai fini par utiliser le code suivant:
Public Class ReadOnlyRichTextBox : Inherits Windows.Forms.RichTextBox
Protected mOkayKeys As Windows.Forms.Keys() = {Windows.Forms.Keys.Up, Windows.Forms.Keys.Down, Windows.Forms.Keys.PageUp, Windows.Forms.Keys.PageDown}
Private Sub ReadOnlyRichTextBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Control And (e.KeyCode = Windows.Forms.Keys.C) Then
Exit Sub
End If
If Not mOkayKeys.Contains(e.KeyCode) Then e.Handled = True
End Sub
Private Sub ReadOnlyRichTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
e.Handled = True
End Sub
Private Sub ReadOnlyRichTextBox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
If e.Control And (e.KeyCode = Windows.Forms.Keys.C) Then
Exit Sub
End If
If Not mOkayKeys.Contains(e.KeyCode) Then e.Handled = True
End Sub
Protected Overrides Sub WndProc(ByRef m As Windows.Forms.Message)
If (m.Msg = &H203) Then ' WM_LBUTTONDBLCLK=0x0203
' Do nothing
Else
MyBase.WndProc(m)
End If
End Sub
End Class
- 1. Rendre l'élément DOM efficace en lecture seule
- 2. Comment rendre un WPF WebBrowser en lecture seule?
- 3. propriété en lecture seule
- 4. PropertyGrid en lecture seule
- 5. Comment faire des requêtes WMI en lecture seule, en lecture seule, en C#?
- 6. en lecture seule DataGridView et IEditableObject
- 7. Comment définir un DateTimePicker en lecture seule?
- 8. Delphi ClientDataSet en lecture seule
- 9. Comment rendre une propriété d'interface facultative en lecture seule dans VB.NET?
- 10. .NET RichTextBox undo
- 11. Utilisateur en lecture seule pour svn
- 12. Afficher avec une colonne en lecture seule
- 13. CVS lecture seule extraction
- 14. Comment effacer l'indicateur en lecture seule d'un fichier en Perl?
- 15. Bugzilla: Définir les autorisations pour rendre un produit en lecture seule pour tous les utilisateurs
- 16. Lecture seule TextBox
- 17. Lecture seule spinner
- 18. SQL2000 Lecture seule Afficher
- 19. Accès en lecture seule aux procédures stockées
- 20. Fichiers SVN et en lecture seule
- 21. Optimisation Sqlite: scénario en lecture seule
- 22. SQLite pour les applications en lecture seule?
- 23. Expose la mémoire en lecture seule
- 24. « Lecture seule » propriété accesseur en C#
- 25. Lecture à partir de RichTextBox dans VC++
- 26. comment créer une session en lecture seule dans nHiberate?
- 27. Comment faire un contrôle Windows Forms en lecture seule?
- 28. Rendre un champ de clé étrangère dans un formulaire django en lecture seule, et toujours activer le formulaire à soumettre
- 29. Glisser-déposer modifie le conteneur WinForm en lecture seule (plus d'autres particularités de glisser-déposer)
- 30. Django Foreign Keys Lecture seule
Non. Il va traiter le double-clic sans mentionner la sélection. Et comme je l'ai dit "ReadOnly" propriété n'aide pas. –