[Mono-bugs] [Bug 78513][Nor] New - TextBox scrollbars behavior

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri May 26 12:35:29 EDT 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by atsushi at ximian.com.


--- shadow/78513	2006-05-26 12:35:28.000000000 -0400
+++ shadow/78513.tmp.27115	2006-05-26 12:35:28.000000000 -0400
@@ -0,0 +1,58 @@
+Bug#: 78513
+Product: Mono: Class Libraries
+Version: 1.1
+OS Details: 
+Status: NEW   
+Priority: Normal
+Component: Windows.Forms
+AssignedTo: peter at novonyx.com                            
+ReportedBy: atsushi at ximian.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: TextBox scrollbars behavior
+Currently TextBox ScrollBars are implemented to handle things in pixels,
+but to handle ScrollEvents easily, it would be better to make changes on
+them to indicate lines.
+1. set_ScrollBars()
+TextBox.set_ScrollBars() should reset the view to the initial position,
+while it should leave the caret as is.
+RichTextBox as well (note that those property types differ).
+I'm attaching an example code. Click around the button on the right side.
+2. Use of ScrollBar.Scroll event
+For now I just examined vertical scroll bar:
+	- SmallChange -> move to next/previous line
+	- LargeChange -> move to next/previous page
+Currently their move seems based on pixels.
+3. Minimum, Maximum and Value
+According to my analysis above, VScrollBar properties on TextBox should be:
+	- Minimum is 0.
+	- Maximum is the total line count.
+	- Value is the line number of the topmost visible line (might not be; when
+it comes to the End area).
+	- SmallChange is 1.
+	- LargeChange is lines-per-page. However, it is not obvious
+	  since the actual size of a page depends on each set of
+	  lines, and the scrollbars are not resized page by page.
+	  Thus, the following expression would be used to compute the size:
+	  (text_area_height / document_total_height) * line_count
+For RichTextBox, not sure. Unlike TextBox its line height is variable.

More information about the mono-bugs mailing list