http://msdn.microsoft.com/fr-fr/library/system.windows.controls.richtextbox.caretposition.aspx
est du français franchement douteux.
Autre chose. Vous est-il parfois venu à l'esprit que la lecture des grands auteurs pourrait vous être très utile ?
RichTextBox1.GetLineFromCharIndex(RichTextBox1.SelectionStart()).ToString
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionToolStripStatusLabel1.Text = "Ligne: " & (RichTextBox1.GetLineFromCharIndex(RichTextBox1.SelectionStart()) + 1).ToString
Private Const EM_LINEINDEX As Long = &HBB Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Integer) As Long Function GetRowCaret(ByRef oRtb As RichTextBox) As Long Return oRtb.GetLineFromCharIndex(oRtb.SelectionStart) + 1 End Function Function GetColCaret(ByRef oRtb As RichTextBox) As Long Return oRtb.SelectionStart - SendMessage(CLng(oRtb.Handle), EM_LINEINDEX, GetRowCaret(oRtb) - 1, 0) End Function
Dim tp As TextPointer = MonRichTextBox.CaretPosition
Bon j'ai essayé de corriger mais ça marche pas encore:
banana32
Membre Club
1768 msg
1796 msg CS
Bonjour,
Et comme le précise msdn ici, et après avoir importé les références nécéssaires à ton projet (propriétés du projet):
- PresentationFramework
- PresentationCore
Des propriétés supplémentaires pour ton RichTextBox apparaîtront et tu pourras alors récupérer facilement la position du caret :
Code Visual Basic :
Dim tp As TextPointer = MonRichTextBox.CaretPosition
Imports System.Windows.Documents Public Class Form1 Dim tp As TextPointer = RichTextBox1.CaretPosition ' ToolStripStatusLabel1.Text = RichTextBox1.GetPositionFromCharIndex(RichTextBox1.SelectionStart).ToString Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub Private Sub PositionCurseurBarStatue() ' Numéro de ligne ou se trouve le curseur ToolStripStatusLabel1.Text = "Ligne: " & (RichTextBox1.GetLineFromCharIndex(RichTextBox1.SelectionStart()) + 1).ToString End Sub Private Sub RichTextBox1_SelectionChanged(sender As System.Object, e As System.EventArgs) Handles RichTextBox1.SelectionChanged PositionCurseurBarStatue() End Sub End Class
Ensuite, je te laisse un peut chercher...
J'en est marre moi
Dim tp As TextPointer = RichTextBox1.CaretPosition
La valeur par défaut TextSelection retournée présente une propriété IsEmpty avec la valeur True.Une TextSelection vide est restituée sous la forme d'un signe insertion dans l'espace de texte sans aucune sélection.
la recherche de la position du caret devient superflue, puisque tu peux la fixer
Là, pour le coup c'est moi qui n'ai rien compris...