Alsing.Windows.Forms.SyntaxBox.EditViewControl.SetMaxHorizontalScroll C# (CSharp) Method

SetMaxHorizontalScroll() public method

public SetMaxHorizontalScroll ( ) : void
return void
        public void SetMaxHorizontalScroll()
        {
            CalcMaxCharWidth();
            int CharWidth = View.CharWidth;
            if (CharWidth == 0)
                CharWidth = 1;

            if (View.ClientAreaWidth/CharWidth < 0)
            {
                hScroll.Maximum = 1000;
                return;
            }

            hScroll.LargeChange = View.ClientAreaWidth/CharWidth;

            try
            {
                int max = 0;
                for (int i = View.FirstVisibleRow;
                     i <
                     Document.VisibleRows.Count;
                     i++)
                {
                    if (i >= View.VisibleRowCount + View.FirstVisibleRow)
                        break;

                    string l = Document.VisibleRows[i].IsCollapsed ? Document.VisibleRows[i].VirtualCollapsedRow.Text : Document.VisibleRows[i].Text;

                    l = l.Replace("\t", new string(' ', TabSize));
                    if (l.Length > max)
                        max = l.Length;
                }

                int pixels = max*MaxCharWidth;
                int chars = pixels/CharWidth;


                if (hScroll.Value <= chars)
                    hScroll.Maximum = chars;
            }
            catch
            {
                hScroll.Maximum = 1000;
            }
        }