PDA

View Full Version : سوال: سرچ در تکست باکس؟



amir22448
جمعه 19 آبان 1391, 15:08 عصر
سلام.کسی می دونه چجوری می شه با C# در بین متن هایی که در تکست باکس هست سرچ کنیم؟

mousa1992
جمعه 19 آبان 1391, 15:40 عصر
سلام دوست عزیز
textbox.text.contains("متن مورد نظر"(
مقدار true یا false رو برمیگدونه
موفق

harani
جمعه 19 آبان 1391, 16:11 عصر
یعنی میخواین مثلاً تو تکست باکس 2 متنی رو بنویسید که اگر در تکست باکس 1 بود مقدار اون مثلاً در مسیج باکس نشون داده بشه ؟؟؟؟؟
برای اینکار میتونید از کد زیر استفاده کنید .

iif (textBox1.Text.Indexof(txetBox2.Text) != -1)//a
MessageBox.Show(textBox2.Text);//a

h.boromand
جمعه 19 آبان 1391, 16:20 عصر
این کد زیر در تکس باکس اولی ی جمله بنویسیم ودر تکس باکس دومی چند حرف اونا بنویسیم در اولی سرچ می کنه

private void button1_Click(object sender, EventArgs e)
{string s;
s = textBox1.Text;
int h = s.IndexOf(textBox2.Text);
if (h == -1)
MessageBox.Show("متن مورد نظر پیدا نشد");
else
MessageBox.Show("پیدا شد" + Convert.ToString(h));

amir22448
جمعه 19 آبان 1391, 16:37 عصر
سلام ممنون.ولی من می خوام که وقتی سرچ کرد و پیدا کرد اون کلمه رو در تکست باکسی که متن اصلی هست رو هایلایت کنه.

harani
جمعه 19 آبان 1391, 16:45 عصر
با تکست باکس اینکار ممکن نیست باید از RichTxetBox استفاده کنی بعد از کد زیر استفاده کن :


int a = richTextBox1.Text.Indexof(txetBox1.Text),//b
if (a != -1){//a
richTextBox1.Select(a, 1);//d
richTextBox1.SelectionBackColor = Color.Cyan;//a
{

amir22448
شنبه 20 آبان 1391, 22:24 عصر
ممنون کار کرد.ولی من وقتی برای مثال در ریج تکس باکس می نویسیم Hi I'm Amir و در تکس باکس می نویسم Hi فقط حرف اول اونو هایلایت می کنه.یعنی هرچی تو تکست باکس نوشتم و تو ریچ تکست باکس پیدا کرد فقط حرف اول رو هایلایت می کنه.و یه چیز دیگه.می خوام که وقتی تکس باکس خالی شد تمام متن های داخل ریچ تکست باکس سیاه بشه.(منظورم بکگراندش نیست منظورم فونتشه)

mousa1992
شنبه 20 آبان 1391, 22:34 عصر
سلام دوست عزیز

int a = richTextBox1.Text.Indexof(txetBox1.Text),//b
if (a != -1){//a
richTextBox1.Select(a, txetBox1.Text.length);//d


موفق باشی

plus
یک شنبه 21 آبان 1391, 00:35 صبح
سلام ممنون.ولی من می خوام که وقتی سرچ کرد و پیدا کرد اون کلمه رو در تکست باکسی که متن اصلی هست رو هایلایت کنه.

اگه منظورتون از HighLight همون Selection ذاتي كنترل TextBox هست، اين كار به راحتي با خود Text Box قابل انجامه:



private void button1_Click(object sender, EventArgs e)
{
int findResult;

findResult = txtSource.Text.IndexOf(txtDest.Text);
if (findResult == -1)
{
MessageBox.Show("Not found");
return;
}

txtSource.Focus();
txtSource.SelectionStart = findResult;
txtSource.SelectionLength = txtDest.Text.Length;
}

كد بالا فقط يك بار جستجو ميكنه. اين كد با چند بار زدن دكمه، نتايج بعدي رو پيدا مي‌كنه:



private void button1_Click(object sender, EventArgs e)
{
int findResult;

findResult = txtSource.Text.IndexOf(txtDest.Text, txtSource.SelectionStart +
txtSource.SelectionLength);
if (findResult == -1)
{
if (txtSource.SelectionStart != 0 && DialogResult.Yes == MessageBox.Show("Not found, Search from the beginning?"
, "Alarm", MessageBoxButtons.YesNo))
findResult = txtSource.Text.IndexOf(txtDest.Text, 0);

if (findResult == -1)
return;
}

txtSource.Focus();
txtSource.SelectionStart = findResult;
txtSource.SelectionLength = txtDest.Text.Length;
}

milad2022
دوشنبه 22 آبان 1391, 00:29 صبح
چطوری میشه با کمک این برنامه چیزی شبیه find در notepad ساخت.یعنی دو تا تکست روی دو فرم نباشن!

مرسی