CenterViewOn() public method

Scroll so that the specified line is centered.
public CenterViewOn ( int line, int treshold ) : void
line int Line to center view on
treshold int If this action would cause scrolling by less than or equal to /// lines in any direction, don't scroll. /// Use -1 to always center the view.
return void
Esempio n. 1
0
        public void Split()
        {
            if (secondaryTextArea == null)
            {
                secondaryTextArea        = new TextAreaControl(this);
                secondaryTextArea.Dock   = DockStyle.Bottom;
                secondaryTextArea.Height = Height / 2;

                secondaryTextArea.TextArea.GotFocus += delegate {
                    SetActiveTextAreaControl(secondaryTextArea);
                };

                textAreaSplitter             = new Splitter();
                textAreaSplitter.BorderStyle = BorderStyle.FixedSingle;
                textAreaSplitter.BackColor   = Color.Orange;
                textAreaSplitter.Height      = 8;
                textAreaSplitter.Dock        = DockStyle.Bottom;
                textAreaPanel.Controls.Add(textAreaSplitter);
                textAreaPanel.Controls.Add(secondaryTextArea);
                InitializeTextAreaControl(secondaryTextArea);
                secondaryTextArea.OptionsChanged();

                secondaryTextArea.TextArea.Leave += delegate {
                    textAreaLastLeave = TextAreaSide.Secondary;
                };

                secondaryTextArea.Caret.Position = primaryTextArea.Caret.Position;
                secondaryTextArea.CenterViewOn(secondaryTextArea.Caret.Line, 0);
                secondaryTextArea.TextArea.Select();
            }
            else
            {
                if (!primaryTextArea.TextArea.Focused && (secondaryTextArea.TextArea.Focused || textAreaLastLeave == TextAreaSide.Secondary))
                {
                    primaryTextArea.Caret.Position = secondaryTextArea.Caret.Position;
                }
                else
                {
                    secondaryTextArea.Caret.Position = primaryTextArea.Caret.Position;
                    secondaryTextArea.CenterViewOn(secondaryTextArea.Caret.Line, 0);
                }
                secondaryTextArea.Visible = !secondaryTextArea.Visible;
                textAreaSplitter.Visible  = !textAreaSplitter.Visible;
                if (secondaryTextArea.Visible == false)
                {
                    SetActiveTextAreaControl(primaryTextArea);
                }
                else
                {
                    secondaryTextArea.TextArea.Select();
                }

                //textAreaPanel.Controls.Remove(secondaryTextArea);
                //textAreaPanel.Controls.Remove(textAreaSplitter);

                //secondaryTextArea.Dispose();
                //textAreaSplitter.Dispose();
                //secondaryTextArea = null;
                //textAreaSplitter  = null;
            }
        }