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

نام تاپیک: چطور در richTextBox يك الگو بسازم كه اگر يك پرانتز زدم قرمز بمونه تا پرانتز را ببندم

  1. #1

    چطور در richTextBox يك الگو بسازم كه اگر يك پرانتز زدم قرمز بمونه تا پرانتز را ببندم

    یک سوال می خواهم در یک richTextBox1_TextChanged یک کد بنویسم که تقریبا مثل کد زنی پرانتز ها و کروشه های باز را حتما ببندم این جوری فکر کردم که مثلا پرانتز باز قرمز باشه تا حتما یک پرانتز بسته براش بزنم اساتید خواهشا یاری کنید.

  2. #2
    کاربر دائمی آواتار shahryari
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آذربايجان
    سن
    40
    پست
    1,236

    نقل قول: چطور در richTextBox يك الگو بسازم كه اگر يك پرانتز زدم قرمز بمونه تا پرانتز را ببندم

    اگه منظورت اینه که مثل ایدیتور و IDE عمل کنه ، بهتره دنبال کامپوننت باشی
    http://www.codeproject.com/Articles/...b-net-Mini-IDE

  3. #3

    نقل قول: چطور در richTextBox يك الگو بسازم كه اگر يك پرانتز زدم قرمز بمونه تا پرانتز را ببندم

    میتونی توی textChanged یا Leave تعداد پرانتزهای باز و پرانتزهای بسته رو بشماری (با متد Count) بعد باید تفریقشون بشه صفر وگرنه حتمن تعداشون برابر نیست. اینجوری اگر تعداد پرانتز بسته بیشتری نسبت به پرانتزهای باز بود رو هم میتونی تشخیص بدی ( حالت برعکس)

  4. #4

    نقل قول: چطور در richTextBox يك الگو بسازم كه اگر يك پرانتز زدم قرمز بمونه تا پرانتز را ببندم

    با تشكر از اساتيد من يك كدي زدم فايلش هم گذاشتم نظرتون چيه؟؟اگر مي شد اخرين پرانتز كه تغيير مي كنه فقط رنگي ميشد بهتر بود ایا میشه وسط متن هم اگر پرانتز باز پاک بشه فقط اون رنگی بشه؟!!!
      private void CheckKeyword(string word, Color color, int startIndex)        {
    if (this.richTextBox1.Text.Contains(word))
    {
    int index = -1;
    int selectStart = this.richTextBox1.SelectionStart;


    while ((index = this.richTextBox1.Text.IndexOf(word, (index + 1))) != -1)
    {
    this.richTextBox1.Select((index + startIndex), word.Length);
    this.richTextBox1.SelectionColor = color;
    this.richTextBox1.Select(selectStart, 0);
    this.richTextBox1.SelectionColor = Color.Black;
    }
    }
    }
    public static int CountStringOccurrences(string text, string pattern) //??? ????? ???? ???
    {
    int count = 0;
    int i = 0;
    while ((i = text.IndexOf(pattern, i)) != -1)
    {
    i += pattern.Length;
    count++;
    }
    {
    return count;
    }
    }

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
    string rich1 = richTextBox1.Text;



    int shomare1 = CountStringOccurrences(rich1, "("); // // 1????? ??????
    int shomare2 = CountStringOccurrences(rich1, ")");// // ????? ??????2
    if (shomare1 - shomare2 == 0)
    {
    this.CheckKeyword(")", Color.Black, 0);
    this.CheckKeyword("(", Color.Black, 0);
    return;
    }

    if (shomare1 - shomare2 > 0)
    {
    this.CheckKeyword("(", Color.Gray, 0);// // ???? ????
    }
    if (shomare1 - shomare2 < 0)
    {
    this.CheckKeyword(")", Color.Red, 0);// // ???? ????
    }
    }
    فایل های ضمیمه فایل های ضمیمه

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

  1. پاسخ: 2
    آخرین پست: جمعه 09 اسفند 1387, 23:23 عصر
  2. چطور نرم افزار تولید کارنامه بسازم
    نوشته شده توسط naser_feb8646 در بخش VB.NET
    پاسخ: 10
    آخرین پست: شنبه 30 آذر 1387, 09:37 صبح
  3. سوال: چطور بايد يك image رو بايندينگ كرد؟ (اگر فيلد در بانك از نوع Image باشد)
    نوشته شده توسط s.mostafa.rahmani در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: یک شنبه 23 تیر 1387, 11:39 صبح
  4. پاسخ: 2
    آخرین پست: دوشنبه 22 آبان 1385, 13:35 عصر
  5. کمکم کنید چطور می توانم یک بسته بسازم و در شبکه ارسال کنم
    نوشته شده توسط ali reza omid ali در بخش شبکه و Networking‌
    پاسخ: 1
    آخرین پست: سه شنبه 22 شهریور 1384, 02:13 صبح

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

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