AutoWikiBrowser.MainForm.lbAlerts_Click C# (CSharp) Method

lbAlerts_Click() private method

Focuses the edit box on the next alert after the caret
private lbAlerts_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void lbAlerts_Click(object sender, EventArgs e)
        {
            EditBoxTab.SelectedTab = tpEdit;

            string a = txtEdit.Text.Substring(0, txtEdit.SelectionStart);
            int b = WikiRegexes.Newline.Matches(a).Count;
            bool done = false;

            foreach (KeyValuePair<int, int> kvp in Errors)
            {
                int current = txtEdit.SelectionStart + b; // offset by number of newlines up to it
                if (kvp.Key > current && kvp.Key < txtEdit.Text.Length)
                {
                    RedSelection(kvp.Key, kvp.Value);
                    txtEdit.ScrollToCaret();
                    done = true;
                    break;
                }
            }

            // if no more alerts after caret, start at beginning
            if (!done)
            {
                txtEdit.SelectionStart = 0;

                foreach (KeyValuePair<int, int> kvp in Errors)
                {
                    if (kvp.Key > txtEdit.SelectionStart && kvp.Key < txtEdit.Text.Length)
                    {
                        RedSelection(kvp.Key, kvp.Value);
                        txtEdit.ScrollToCaret();
                        break;
                    }
                }
            }
        }
MainForm