نمایش نتایج 1 تا 11 از 11

نام تاپیک: جستجی یک richTextBox همانند Find NotePad

  1. #1

    جستجی یک richTextBox همانند Find NotePad

    دوستان اگه find نت پد و دیده باشید هر چند بار روی دکمه فیند کلیک کنید به ترتیب لغات پیدا شده رو بهتون نشون میده
    من با این کد این کار و می کنم اما مشکل اینجاست فقط یکبار این کار و میکنه
    string a = txtSearch.Text;
    richTextBox1.Focus();
    richTextBox1.Find(a, RichTextBoxFinds.WholeWord);

  2. #2
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    باسلام:

    میتونید موقعیت اولین کلمه جستجو شده که در متن کنترل richTextBox وجود دارد رو نگه داری کنید و سپس از اینجا به بعد رو جستجو کنید.

    به عنوان مثال:


    publicint FindMyText(string txtToSearch, int searchStart, int searchEnd)
    {
    // Unselect the previously searched string
    if (searchStart > 0 && searchEnd > 0 && indexOfSearchText >= 0)
    {
    rtb.Undo();
    }

    // Set the return value to -1 by default.
    int retVal = -1;

    // A valid starting index should be specified.
    // if indexOfSearchText = -1, the end of search
    if (searchStart >= 0 && indexOfSearchText >=0)
    {
    // A valid ending index
    if (searchEnd > searchStart || searchEnd == -1)
    {
    // Find the position of search string in RichTextBox
    indexOfSearchText = rtb.Find(txtToSearch, searchStart, searchEnd, RichTextBoxFinds.None);
    // Determine whether the text was found in richTextBox1.
    if (indexOfSearchText != -1)
    {
    // Return the index to the specified search text.
    retVal = indexOfSearchText;
    }
    }
    }
    return retVal;
    }



    // Reset the richtextbox when user changes the search string
    privatevoid textBox1_TextChanged(object sender, EventArgs e)
    {
    start = 0;
    indexOfSearchText = 0;
    }

  3. #3

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    اما من کدهات و نمیفهمم
    نه می دونم richtextbox کدومه و نه ...

  4. #4

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    کجاشو متوجه نمیشین کنترل richbox شما rtb هستش .

  5. #5
    کاربر دائمی آواتار alonemm
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهرانپارس
    سن
    35
    پست
    1,846

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    باسلام:

    به درخواست شما کد ساده تری براتون نوشتم:
    در این کد شما هر بار که دکمه جستجو رو بزنید کلمه مورد نظر اگر یافت بشه BackColor به رنگ زرد تغییر میکنه و دوباره که میزنید سعی به پیدا کردن کلمه بعدی میکنه.

    int laststop = 0;
    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
    richTextBox1.SelectionBackColor = Color.White;
    int check = 0;
    if (check == -1)
    {
    laststop = 0;
    }
    check = richTextBox1.Find(textBox1.Text, laststop, RichTextBoxFinds.None);
    richTextBox1.SelectionBackColor = Color.Yellow;
    if (check ==-1)
    {
    MessageBox.Show("Search is completed.");
    laststop = 0;
    }
    else
    {
    laststop = laststop + textBox1.Text.Length;
    }

    }



    موفق باشید.

  6. #6

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    ازتون بسیار ممنونم
    اما این همه ی لغات پیدا نمیکنه و فقط یک لغت و نشون میده

  7. #7

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    سلام ، یک نمونه واستون نوشتم ( کدش رو هم ساده نوشتم) البته به زبان vb.net !

    میتونین تبدیل کنید ( ببخشید سی شارپ نصب ندارم وگرنه با سی شارپ واستون مینوشتم)

    سوالی در مورد سورس داشتین در خدمتم.
    فایل های ضمیمه فایل های ضمیمه

  8. #8

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    نقل قول نوشته شده توسط سیاوش ابراهیمی مشاهده تاپیک
    سلام ، یک نمونه واستون نوشتم ( کدش رو هم ساده نوشتم) البته به زبان vb.net !

    میتونین تبدیل کنید ( ببخشید سی شارپ نصب ندارم وگرنه با سی شارپ واستون مینوشتم)

    سوالی در مورد سورس داشتین در خدمتم.
    تو حالت Find تونستم تبدیلش کنم به سی شارپ و مشکلم حل شد
    اما تو حالت Find Next هر کار کردم نتونستم به سی شارپ تبدیلش کنم

    اگه بشه فقط حالت Find Next رو کد سی شارپش و بدید (بدون بررسی checkbox ممنون میشم)

  9. #9
    کاربر دائمی آواتار uniqueboy_ara
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    420

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    شما از این کد استفاده کن، مثل هلو کار می کنه ( همون کدیه که دوستمون نوشته بود، با یه سری تفاوت جزئی ) :)
    private void button1_Click(object sender, EventArgs e)
    {
    richTextBox1.SelectionBackColor = Color.White;
    int check = 0;
    if (check == -1)
    {
    laststop = 0;
    }
    check = richTextBox1.Find(textBox1.Text, laststop, RichTextBoxFinds.None);
    richTextBox1.SelectionBackColor = Color.Yellow;
    if (check == -1)
    {
    MessageBox.Show("Search is completed.");
    //--------------
    richTextBox1.SelectAll();
    richTextBox1.SelectionBackColor = Color.White;
    //-------------
    laststop = 0;
    }
    else
    {
    //laststop = laststop + textBox1.Text.Length;
    laststop = richTextBox1.SelectionStart + textBox1.Text.Length;

    }
    }

  10. #10

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    من کد یر رو نوشتم ولی یه ایرادی که داره باید دفعات زیادی دکمه مربوطه را فشار دهیم تا به مورد جستجوی بعدی برسیم اگه بازم توانستید ایراد کد را بیابید .



    public int counterNext ;
    private void toolStripbtnFindNext_Click(object sender, EventArgs e)
    {
    counterNext++;

    try
    {

    int a = rtbPaper.Text.IndexOf(toolStripTxtFind.Text);
    a += counterNext;

    int i = rtbPaper.Text.IndexOf(toolStripTxtFind.Text, a);

    rtbPaper.Select(i, toolStripTxtFind.Text.Length);
    rtbPaper.Focus();
    rtbPaper.ScrollToCaret();
    }
    catch (System.Exception)
    {
    MessageBox.Show("دیگه موردی یافت نمیشه", "خطای جستجو", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    }

    }

    آخرین ویرایش به وسیله harani : جمعه 02 تیر 1391 در 11:38 صبح

  11. #11

    نقل قول: جستجی یک richTextBox همانند Find NotePad

    من کد زیر رو نوشتم ولی یه ایرادی که داره باید دفعات زیادی دکمه مربوطه را فشار دهیم تا به مورد جستجوی بعدی برسیم اگه بازم توانستید ایراد کد را بیابید و اصلاح کنید . خیلی به جواب نزدیک است .


    public int counterNext ;
    private void btnFindNext_Click(object sender, EventArgs e)
    {
    counterNext++;

    try
    {

    int a = richTextBox1.Text.IndexOf(textBoxFind.Text);
    a += counterNext;

    int i =richTextBox1.Text.IndexOf(textBoxFind.Text, a);

    richTextBox1.Select(i, textBoxFind.Text.Length);
    richTextBox1.Focus();
    richTextBox1.ScrollToCaret();
    }
    catch (System.Exception)
    {
    MessageBox.Show(" خطای جستجو", "دیگه موردی یافت نمیشه", MessageBoxButtons.OK, MessageBoxIcon.Stop);
    }

    }



    با سپاس فروان از شما

تاپیک های مشابه

  1. سوال: مشکل find در richtextbox
    نوشته شده توسط ali-software در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: شنبه 28 شهریور 1388, 13:39 عصر
  2. مشکل در تابع Find Notepad
    نوشته شده توسط aks2download در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: شنبه 17 اسفند 1387, 19:10 عصر
  3. سوال: ویژگی Find در RichTextBox
    نوشته شده توسط aeirik در بخش C#‎‎
    پاسخ: 6
    آخرین پست: یک شنبه 20 مرداد 1387, 23:04 عصر
  4. مشکل در find notepad
    نوشته شده توسط sara_np در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 4
    آخرین پست: جمعه 16 شهریور 1386, 11:28 صبح
  5. درخواست کد مربوط به find dialog در notepad
    نوشته شده توسط farah_m در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: شنبه 05 شهریور 1384, 02:00 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •