PDA

View Full Version : مبتدی: جستجوی کلمه در RichTextBox



alireza0047
سه شنبه 28 دی 1389, 14:02 عصر
سلام
من یک کلمه رو در RichTextBox میخام جستجو کنه و کرسر رو ببره اونجا

Reza,M
سه شنبه 28 دی 1389, 14:58 عصر
سلام
من یک کلمه رو در RichTextBox میخام جستجو کنه و کرسر رو ببره اونجا
با سلام
براي Find

Dim p, n As Short
Dim t As String

Private Sub FindText(ByVal start_at As Short)
t = TextBox1.Text
p = InStr(start_at, Form1.RichTextBox1.Text, t)
If (Form1.RichTextBox1.Text <> "") Then
If (p > 0) Then
n = p
Form1.RichTextBox1.SelectionStart = n - 1
Form1.RichTextBox1.SelectionLength = Len(t)
Form1.RichTextBox1.Focus()
Else
If (Form1.RichTextBox1.Text <> "") Then
MessageBox.Show(" Word has finished searching the document ", " Find Text", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
'FindText(1)
End If
End If
Else
Form1.RichTextBox1.Focus()
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If (Form1.RichTextBox1.Text <> "") Then
If (TextBox1.Text <> "") Then
FindText(1)
Else
TextBox1.Focus()
End If
Else
Form1.RichTextBox1.Focus()
End If

Reza,M
سه شنبه 28 دی 1389, 15:00 عصر
سلام
من یک کلمه رو در RichTextBox میخام جستجو کنه و کرسر رو ببره اونجا
براي Find Next

Dim p, n As Short
Dim t As String

Private Sub FindText(ByVal start_at As Short)
t = TextBox1.Text
p = InStr(start_at, Form1.RichTextBox1.Text, t)
If (Form1.RichTextBox1.Text <> "") Then
If (p > 0) Then
n = p
Form1.RichTextBox1.SelectionStart = n - 1
Form1.RichTextBox1.SelectionLength = Len(t)
Form1.RichTextBox1.Focus()
Else
If (Form1.RichTextBox1.Text <> "") Then
MessageBox.Show(" Word has finished searching the document ", " Find Text", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
'FindText(1)
End If
End If
Else
Form1.RichTextBox1.Focus()
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If (Form1.RichTextBox1.Text <> "") Then
If (TextBox1.Text <> "") Then
FindText(n + 1)
Else
TextBox1.Focus()
End If
Else
Form1.RichTextBox1.Focus()
End If
End Sub

ansaralghaem
جمعه 12 خرداد 1391, 12:55 عصر
سلام
من یک کلمه رو در RichTextBox میخام جستجو کنه و کرسر رو ببره اونجا

سلام با استفاده از index of
این متغیرها i,j رو سراسری تعریف کن بع داخل کلید جستجو کد زی رو بنویس کمک خواستی با ایمیل خبرم کن


if (richTextBox1.Text == "")
return;
int m;
string ch = textBox1.Text;
i = richTextBox1.Text.IndexOf(ch, j);
j = i;
j++;
if (i == -1)
{
j = 0;
MessageBox.Show("موردی یافت نشد");
return;
}
m = textBox1.TextLength;
richTextBox1.Focus();
richTextBox1.Select(i, m);

ansaralghaem
جمعه 12 خرداد 1391, 13:14 عصر
if (richTextBox1.Text == "")
return;
int m;
string ch = textBox1.Text;
i = richTextBox1.Text.IndexOf(ch, j);
j = i;
j++;
if (i == -1)
{
j = 0;
MessageBox.Show("موردی یافت نشد");
return;
}
m = textBox1.TextLength;
richTextBox1.Focus();
richTextBox1.Select(i, m);

Hossis
جمعه 12 خرداد 1391, 13:21 عصر
این همه کد لازم نیست
در خود richTextbox یک تابع برای جستجو هست

dim rtf As New RichTextBox
rtf.Find("حسین", 0, RichTextBoxFinds.WholeWord)