ScrollProperties.cs
4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
using System.ComponentModel;
// Original ScrollControl code by Scott Crawford (http://sukiware.com/)
namespace Acc.ImageBox
{
partial class ScrollControl
{
#region Nested Types
/// <summary>
/// Provides basic properties for the horizontal scroll bar in a <see cref="ScrollControl"/>.
/// </summary>
public class HScrollProperties : ScrollProperties
{
#region Public Constructors
/// <summary>
/// Initializes a new instance of the <see cref="ScrollProperties" /> class.
/// </summary>
/// <param name="container">The <see cref="ScrollControl" /> whose scrolling properties this object describes.</param>
public HScrollProperties(ScrollControl container)
: base(container)
{ }
#endregion
}
/// <summary>
/// Encapsulates properties related to scrolling.
/// </summary>
public abstract class ScrollProperties
{
#region Instance Fields
private readonly ScrollControl _container;
#endregion
#region Protected Constructors
/// <summary>
/// Initializes a new instance of the <see cref="ScrollProperties"/> class.
/// </summary>
/// <param name="container">The <see cref="ScrollControl"/> whose scrolling properties this object describes.</param>
protected ScrollProperties(ScrollControl container)
{
//System.Windows.Forms.ScrollProperties
_container = container;
}
#endregion
#region Public Properties
/// <summary>
/// Gets or sets whether the scroll bar can be used on the container.
/// </summary>
/// <value><c>true</c> if the scroll bar can be used; otherwise, <c>false</c>.</value>
[DefaultValue(true)]
public bool Enabled { get; set; }
/// <summary>
/// Gets or sets the distance to move a scroll bar in response to a large scroll command.
/// </summary>
/// <value>An <see cref="int"/> describing how far, in pixels, to move the scroll bar in response to a large change.</value>
[DefaultValue(10)]
public int LargeChange { get; set; }
/// <summary>
/// Gets or sets the upper limit of the scrollable range.
/// </summary>
/// <value>An <see cref="int"/> representing the maximum range of the scroll bar.</value>
[DefaultValue(100)]
public int Maximum { get; set; }
/// <summary>
/// Gets or sets the lower limit of the scrollable range.
/// </summary>
/// <value>An <see cref="int"/> representing the lower range of the scroll bar.</value>
[DefaultValue(0)]
public int Minimum { get; set; }
/// <summary>
/// Gets the control to which this scroll information applies.
/// </summary>
/// <value>A <see cref="ScrollControl"/>.</value>
public ScrollControl ParentControl
{
get { return _container; }
}
/// <summary>
/// Gets or sets the distance to move a scroll bar in response to a small scroll command.
/// </summary>
/// <value>An <see cref="int"/> representing how far, in pixels, to move the scroll bar.</value>
[DefaultValue(1)]
public int SmallChange { get; set; }
/// <summary>
/// Gets or sets a numeric value that represents the current position of the scroll bar box.
/// </summary>
/// <value>An <see cref="int"/> representing the position of the scroll bar box, in pixels. </value>
[Bindable(true)]
[DefaultValue(0)]
public int Value { get; set; }
/// <summary>
/// Gets or sets whether the scroll bar can be seen by the user.
/// </summary>
/// <value><c>true</c> if it can be seen; otherwise, <c>false</c>.</value>
[DefaultValue(false)]
public bool Visible { get; set; }
#endregion
}
/// <summary>
/// Provides basic properties for the vertical scroll bar in a <see cref="ScrollControl"/>.
/// </summary>
public class VScrollProperties : ScrollProperties
{
#region Public Constructors
/// <summary>
/// Initializes a new instance of the <see cref="ScrollProperties" /> class.
/// </summary>
/// <param name="container">The <see cref="ScrollControl" /> whose scrolling properties this object describes.</param>
public VScrollProperties(ScrollControl container)
: base(container)
{ }
#endregion
}
#endregion
}
}