void PreviewFile(string path, int linenum) { var text = File.ReadAllText(path); var fp = Previewer(); SciUtil.SetAllText(fp.scintilla, text); fp.Text = path; var pos = fp.scintilla.Lines[linenum - 1].Position; fp.scintilla.GotoPosition(pos); SciUtil.RevealLine(fp.scintilla, linenum - 1); int found = SciUtil.SearchAndMove(fp.scintilla, Ui.searchTextBox.Text); // simple find didn't find it - so let's highlight the whole line if (found == -1) { fp.scintilla.SelectionStart = pos; fp.scintilla.SelectionEnd = fp.scintilla.Lines[linenum].Position; } fp.Show(); FormsUtil.BringFormToFront(fp, Ui.form); }
private void LiveSearchEvents(MainFormUi ui) { var ctrl = ui.searchControl; var rb = ui.resultBox; ctrl.searchTextBox.TextChanged += (o, e) => SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text); ctrl.btnNext.Click += (o, e) => SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text); ctrl.btnPrev.Click += (o, e) => SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text, reverse: true); ctrl.searchTextBox.KeyDown += (o, e) => { if (e.KeyCode == Keys.Enter) { if (e.Shift) { SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text, reverse: true); } else { SciUtil.SearchAndMove(rb, ctrl.searchTextBox.Text); } e.SuppressKeyPress = true; e.Handled = true; } }; }