C# TrackBar 滑块控件
2025-02-20 本文已影响0人
技术老小子
摘要
TrackBar 是 C# 控件中一种常用的滑动块控件,一般用于控制声音大小、数字的大小范围等。它通常与数值属性绑定,可以在视图上方的标签中显示滑块的当前值,并且可以根据用户的滑动进行相应的动态调整。
TrackBar 控件由三个主要部分组成:标签区、滑块区和拖动杆。标签区通常用于显示当前滑块的值,滑块区是用户直接与其进行交互的部分,而拖动杆则是控制滑块值的动态范围。
在 C# 中,我们可以使用 TrackBar 控件来实现声音大小的调节。通过绑定 TrackBar 控件的值属性和声音的播放速度属性,我们可以在视图上方的标签中显示滑块的当前值,并且根据用户的滑动进行相应的动态调整。例如,当用户将滑块向右滑动时,声音的播放速度会相应地增加。
此外,我们还可以使用 TrackBar 控件来控制数字的大小范围。通过将 TrackBar 控件与数字的数值属性绑定,我们可以在视图上方的标签中显示滑块的当前值,并且根据用户的滑动进行相应的动态调整。例如,当用户将滑块向右滑动时,数字的值会相应地增加。
正文
属性
| AutoScrollOffset | 获取或设置一个值,该值指示在 ScrollControlIntoView(Control) 中将控件滚动到何处。 (继承自 Control) |
| AutoSize | 获取或设置一个值,该值指示是否自动调整跟踪条的高度或宽度。 |
| BackColor | 获取或设置控件的背景色。 (继承自 Control) |
| BackgroundImage | 获取或设置 TrackBar 控件的背景图像。 |
| BackgroundImageLayout | 获取或设置一个 ImageLayout 值;但设置此属性对 TrackBar 控件没有影响。 |
| BindingContext | 获取或设置控件的 BindingContext。 (继承自 Control) |
| DefaultImeMode | 获取一个值,该值指示 TrackBar 的输入法编辑器 (IME) 的模式。 |
| DefaultMargin | 获取控件之间默认指定的间距(以像素为单位)。 (继承自 Control) |
| Dock | 获取或设置哪些控件边框停靠到其父控件并确定控件如何随其父级一起调整大小。 (继承自 Control) |
| DoubleBuffered | 获取或设置一个值,该值指示此控件是否使用次要缓冲区重绘其图面以降低或避免闪烁,但此属性对 TrackBar 控件没有影响。 |
| Enabled | 获取或设置一个值,该值指示控件是否可以对用户交互作出响应。 (继承自 Control) |
| Events | 获取附加到此 Component 的事件处理程序的列表。 (继承自 Component) |
| LargeChange | 获取或设置一个值,当滚动框长距离移动时向 Value 属性加上该值或从中减去该值。 |
| Maximum | 获取或设置此 TrackBar 使用的范围的上限。 |
| MaximumSize | 获取或设置大小,该大小是 GetPreferredSize(Size) 可以指定的上限。 (继承自 Control) |
| Minimum | 获取或设置此 TrackBar 使用的范围的下限。 |
| MinimumSize | 获取或设置大小,该大小是 GetPreferredSize(Size) 可以指定的下限。 (继承自 Control) |
| Orientation | 获取或设置一个值,该值指示跟踪条在水平方向还是在垂直方向。 |
| Padding | 获取或设置 TrackBar 控件的边缘及其内容之间的间距。 |
| SmallChange | 获取或设置当滚动框短距离移动时对 Value 属性进行增减的值。 |
| Tag | 获取或设置包含有关控件的数据的对象。 (继承自 Control) |
| Text | 获取或设置 TrackBar 的文本。 |
| TickFrequency | 获取或设置一个值,该值指定控件上绘制的刻度之间的增量。 |
| TickStyle | 获取或设置一个值,该值指示如何显示跟踪条上的刻度线。 |
| Value | 获取或设置表示跟踪条上滚动框的当前位置的数值。 |
一个例子
image.png
private void Form1_Load(object sender, EventArgs e)
{
tbMain.Maximum = 100;
tbMain.TickFrequency = 5;
tbMain.LargeChange = 3;
tbMain.SmallChange = 2;
}
private void tbMain_Scroll(object sender, EventArgs e)
{
lblValue.Text = tbMain.Value.ToString();
}