using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions; namespace RTB_Testing { public partial class frmRTBTesting : Form { public frmRTBTesting() { InitializeComponent(); } private void RefreshOutput() { tbResults.Text = ""; try { MatchCollection mc = Regex.Matches(stepRTB.Rtf, tbRegex.Text); foreach (Match m in mc) tbResults.Text += "\r\n" + m.Value; } catch (Exception ex) { tbResults.Text = ex.Message; } } private void tbRegex_TextChanged(object sender, EventArgs e) { RefreshOutput(); } private bool _Changing = false; private void stepRTB_TextChanged(object sender, EventArgs e) { if (_Changing) return; _Changing = true; tb.Text = rtb.Rtf = stepRTB.Rtf; _Changing = false; RefreshOutput(); } private void rtb_TextChanged(object sender, EventArgs e) { if (_Changing) return; _Changing = true; tb.Text = stepRTB.Rtf = rtb.Rtf; _Changing = false; RefreshOutput(); } private void tb_TextChanged(object sender, EventArgs e) { if (_Changing) return; _Changing = true; try { rtb.Rtf = stepRTB.Rtf = tb.Text; tbResults.Text = rtb.Rtf; tbSelected.Text = rtb.Text; } catch (Exception ex) { } _Changing = false; //RefreshOutput(); } private void stepRTB_SelectionChanged(object sender, EventArgs e) { if (_Changing) return; _Changing = true; tbSelected.Text = stepRTB.SelectedRtf; _Changing = false; } private void rtb_SelectionChanged(object sender, EventArgs e) { if (_Changing) return; _Changing = true; tbSelected.Text = rtb.SelectedRtf; _Changing = false; } } }