דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה ב c# | סימון מילים ב richTextBox

עזרה ב c# | סימון מילים ב richTextBox

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 186 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • נ מנותק
    נ מנותק
    נ נח
    כתב ב נערך לאחרונה על ידי נ נח
    #1

    אני רוצה שכשכותבים מילה בrichTextBox1 (לדוגמא "start")
    היא תהיה בצבע אדום
    (דומה לnotepad ++)
    d6f2c01e-e5c7-4770-b0a9-28d8523d653e-image.png

    זה הקוד שעשיתי, כל פעם שכותבים ב richTextBox1 הוא עושה חיפוש ואם הוא מוצא "start" הוא הופך אותו לאדום
    הבעיה שבכל אות שכותבים העכבר עובר להתחלה

            private void richTextBox1_TextChanged(object sender, EventArgs e)
            {
                string[] words = "start".Split(',');
                foreach (string word in words)
                {
                    int startIndex = 0;
                    while (startIndex < richTextBox1.TextLength)
                    {
                        int wordStartIndex = richTextBox1.Find(word, startIndex, RichTextBoxFinds.None);
                        if (wordStartIndex != -1)
                        {
                            richTextBox1.SelectionStart = wordStartIndex;
                            richTextBox1.SelectionLength = word.Length;
                            richTextBox1.SelectionColor = Color.Red;
                        }
                        else
                            break;
                        startIndex += wordStartIndex + word.Length;
                    }
                }
            }
    

    תודה רבה!

    OdedDvirO תגובה 1 תגובה אחרונה
    1
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לנ נח ב נערך לאחרונה על ידי OdedDvir
      #2

      @נ-נח זה בגלל שהפונקציה משנה את מיקום הסמן.
      אתה צריך לשמור את המיקום הנוכחי בתחילת הפונקציה, וביציאה להזיז לשם את הסמן.
      תוסיף בתחילת הפונקציה את השורה הבאה:

       var currentPosition = richTextBox1.SelectionStart;
      

      ובסוף לפני היציאה מהפונקציה:

      richTextBox1.Select(currentPosition , 0);
      
      נ תגובה 1 תגובה אחרונה
      6
      • נ מנותק
        נ מנותק
        נ נח
        השיב לOdedDvir ב נערך לאחרונה על ידי
        #3

        @odeddvir תודה רבה!!

        תגובה 1 תגובה אחרונה
        2
        • dovidD dovid העביר נושא זה מ-תכנות ב-

        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום