ARCed.Scripting.ScriptSearchForm.buttonSearch_Click C# (CSharp) Метод

buttonSearch_Click() приватный Метод

private buttonSearch_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
Результат void
        private void buttonSearch_Click(object sender, EventArgs e)
        {
            this.results.Clear();
            // Create list of scripts to search
            var searchScripts = new List<Script>();
            if (this.searchControl.toolStripComboBox_Scope.SelectedIndex == 0) // Open
            {
                searchScripts.AddRange(Windows.ScriptEditors.Select(form => form.Script));
            }
            else // All
                searchScripts = Project.ScriptManager.Scripts;
            string searchString = this.searchControl.textBoxSearch.Text;
            // Set flags
            var flag = SearchFlags.Empty;
            if (this.searchControl.toolStripMenuItem_MatchCase.Checked) flag |= SearchFlags.MatchCase;
            if (this.searchControl.toolStripMenuItem_RegExp.Checked) flag |= SearchFlags.RegExp;
            if (this.searchControl.toolStripMenuItem_WholeWord.Checked) flag |= SearchFlags.WholeWord;
            if (this.searchControl.toolStripMenuItem_WordStart.Checked) flag |= SearchFlags.WordStart;
            // Perform search using SciLexer's unmanaged library for improved perfomance
            using (var scintilla = new Scintilla.Scintilla())
            {
                foreach (Script script in searchScripts)
                {
                    scintilla.Text = script.Text;
                    foreach (Range r in scintilla.FindReplace.FindAll(searchString, flag))
                    {
                        this.results.Add(new SearchResult(script, script.Title,
                            r.StartingLine.Number, r.StartingLine.Text));
                    }
                }
            }
            this.RefreshResults();
        }