Esempio n. 1
0
        private void PaintTheTextBoxes()
        {
            var prevBefore = rtbBefore.SelectionStart;
            var prevAfter  = rtbAfter.SelectionStart;

            rtbBefore.SuspendLayout();
            rtbAfter.SuspendLayout();

            ResetColor(rtbBefore);
            ResetColor(rtbAfter);

            foreach (var added in _codeDiff.GetAdded())
            {
                ColorSection(rtbAfter, added.After.Span.Start, added.After.Span.Length, Color.LightGreen);
            }

            foreach (var added in _codeDiff.GetRemoved())
            {
                ColorSection(rtbBefore, added.Before.Span.Start, added.Before.Span.Length, Color.LightSalmon);
            }

            foreach (var added in _codeDiff.GetModified())
            {
                ColorSection(rtbAfter, added.After.Span.Start, added.After.Span.Length, Color.LightGreen);
                ColorSection(rtbBefore, added.Before.Span.Start, added.Before.Span.Length, Color.LightSalmon);
            }
            rtbBefore.ResumeLayout();
            rtbAfter.ResumeLayout();

            rtbBefore.SelectionStart  = prevBefore;
            rtbBefore.SelectionLength = 0;
            rtbAfter.SelectionStart   = prevAfter;
            rtbAfter.SelectionLength  = 0;
        }