示例#1
0
        /*
         * Formats the keyword textbox to create a list of each of the keywords it needs to seach for,
         * then finds out how often it appears in the text and adds it to the KeywordFrequencies list.
         */
        private void GetKeywordsFromTextbox()
        {
            List <String> Keywords = new List <String>();

            String[] KeywordsSplitted = Textbox_Keywords.getTextbox().Text.Split(',');

            KeywordFrequencies.Clear();
            foreach (String keyword in KeywordsSplitted)
            {
                if (keyword.Trim() != String.Empty)
                {
                    String FormattedKeyword = keyword.ToLower().Trim();
                    int    Frequency        = GetNumberOfKeywords(FormattedKeyword);

                    if (RichTextbox_MainText.getTextbox().Text.ToLower().Contains(FormattedKeyword))
                    {
                        KeywordFrequency NewKF;
                        NewKF.Keyword   = keyword.Trim();
                        NewKF.Frequency = Frequency;
                        KeywordFrequencies.Add(NewKF);
                    }

                    ChangeColourOfKeywords(FormattedKeyword);
                }
            }

            AddKeywordsToListbox();
        }
示例#2
0
        public MainForm()
        {
            InitializeComponent();

            // Event whenever the text is changed, to know when the email has been edited by the user
            RichTextbox_MainText.getTextbox().TextChanged += new EventHandler(MainForm_RichTextbox_TextChanged);

            Listbox_SearchCount.getListBox().SelectedIndexChanged += new EventHandler(MainForm_SelectedIndexChanged);
        }
示例#3
0
 /*
  * Removes the red font on the keywords and clears the listbox of items.
  * Sets the previous email text to the current email text.
  */
 private void MainForm_RichTextbox_TextChanged(object sender, EventArgs e)
 {
     if (RichTextbox_MainText.getTextbox().Text != PrevMainText)
     {
         Listbox_SearchCount.getListBox().Items.Clear();
         SetMainTextDefaultColour();
         PrevMainText = RichTextbox_MainText.getTextbox().Text;
     }
 }
示例#4
0
        /*
         * Removes all underlines in the textbox.
         */
        private void RemoveMainTextUnderline()
        {
            int CaretPosition = RichTextbox_MainText.getTextbox().SelectionStart;

            RichTextbox_MainText.getTextbox().SelectAll();
            RichTextbox_MainText.getTextbox().SelectionFont   = RichTextbox_MainText.getTextbox().Font;
            RichTextbox_MainText.getTextbox().SelectionStart  = CaretPosition;
            RichTextbox_MainText.getTextbox().SelectionLength = 0;
        }
示例#5
0
        /*
         * Sets all of the email text to a black font to remove any red font.
         */
        private void SetMainTextDefaultColour()
        {
            int CaretPosition = RichTextbox_MainText.getTextbox().SelectionStart;

            RichTextbox_MainText.getTextbox().SelectAll();
            RichTextbox_MainText.getTextbox().SelectionColor  = Color.Black;
            RichTextbox_MainText.getTextbox().SelectionFont   = RichTextbox_MainText.getTextbox().Font;
            RichTextbox_MainText.getTextbox().SelectionStart  = CaretPosition;
            RichTextbox_MainText.getTextbox().SelectionLength = 0;
        }
示例#6
0
        /*
         * Changes the colour of the keywords found in the email text.
         */
        private void ChangeColourOfKeywords(String Keyword)
        {
            Regex regex         = new Regex(Keyword);
            int   CaretPosition = RichTextbox_MainText.getTextbox().SelectionStart;

            foreach (Match match in regex.Matches(RichTextbox_MainText.getTextbox().Text.ToLower()))
            {
                RichTextbox_MainText.getTextbox().Select(match.Index, match.Length);
                RichTextbox_MainText.getTextbox().SelectionColor = Color.Red;
            }
            RichTextbox_MainText.getTextbox().SelectionStart  = CaretPosition;
            RichTextbox_MainText.getTextbox().SelectionLength = 0;
        }
示例#7
0
        /*
         * Removes any previous underline in the textbox, then underlines the keywords found in the textbox.
         */
        private void UnderlineSelectedKeyword(String Keyword)
        {
            RemoveMainTextUnderline();
            Regex regex         = new Regex(Keyword);
            int   CaretPosition = RichTextbox_MainText.getTextbox().SelectionStart;
            Font  textboxFont   = RichTextbox_MainText.getTextbox().Font;

            foreach (Match match in regex.Matches(RichTextbox_MainText.getTextbox().Text.ToLower()))
            {
                RichTextbox_MainText.getTextbox().Select(match.Index, match.Length);
                RichTextbox_MainText.getTextbox().SelectionFont = new Font(textboxFont.FontFamily, textboxFont.Size, FontStyle.Underline);;
            }
            RichTextbox_MainText.getTextbox().SelectionStart  = CaretPosition;
            RichTextbox_MainText.getTextbox().SelectionLength = 0;
        }
示例#8
0
 /*
  * Clears the text in the email textbox.
  */
 private void Button_ClearMainText_Click(object sender, EventArgs e)
 {
     RichTextbox_MainText.getTextbox().Text = String.Empty;
     Listbox_SearchCount.getListBox().Items.Clear();
 }
示例#9
0
 /*
  * Returns the number of times a keyword appears in the email text by splitting the string at the points
  * where it will have the keyword. This gives the number of times the keyword appears + 1.
  */
 private int GetNumberOfKeywords(String Keyword)
 {
     String[] MainTextSplitted = RichTextbox_MainText.getTextbox().Text.ToLower().Trim().Split(new String[] { Keyword }, StringSplitOptions.None);
     return(MainTextSplitted.Length - 1);
 }