TrackBar 属性说明
Maximum属性:用来获取或设置TrackBar控件可表示的范围上限,即最大值。
Minimum属性:用来获取或设置TrackBar控件可表示的范围下限,即最小值。
SmallChange属性:用来获取或设置当滑块短距离移动时对Value属性进行增减的值。
Value属性:用来获取或设置滑块在跟踪条控件上的当前位置的值。------其他控件调取的主要方式。
Orientation属性:用来获取或设置一个值,该值指示跟踪条是在水平方向还是在垂直方向。
TickFrequency属性:用来获取或设置一个值,该值指定控件上绘制的刻度之间的增量。
注册TrackBar 的ValueChanged事件
this.trackBar1.ValueChanged += new System.EventHandler(this.TrackBar1_Scroll);
事件处理:TrackBar 拖动时候,获取Value,显示到textBox2上。
private void TrackBar1_Scroll(object sender, EventArgs e)
{
this.textBox2.Text = trackBar1.Value.ToString();
}
长按按钮调整TrackBar 值
Winform 没有自带的长按事件,所以使用鼠标的MuseDown与MouseUp加上定时器来控制。
页面上拖动四个timer,如下图所示,鼠标MouseDown事件触发,启动timer3,延迟100ms 后启动timer1
timer3 主要负责判断鼠标是长按。timer1 负责执行TrackBar 的值增加。timer4、timer2 负责TrackBar 值的减少。
/// <summary>
/// TrackBar1_Add
/// </summary>
private void TrackBar1_Add()
{
if (trackBar1.Value < 100)
{
trackBar1.Value = trackBar1.Value + 1;
}
}
/// <summary>
/// TrackBar1_Subtraction
/// </summary>
private void TrackBar1_Subtraction()
{
if (trackBar1.Value >= 1)
{
trackBar1.Value = trackBar1.Value - 1;
}
}
/// <summary>
/// label4 mouseDown trackBar1.Value Subtraction and time3 start
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void label4_MouseDown(object sender, MouseEventArgs e)
{
TrackBar1_Subtraction();
timer3.Interval = 100;
timer3.Enabled = true;
}
/// <summary>
/// time3 handle
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer3_Tick(object sender, EventArgs e)
{
timer1.Interval = 50; //0.05s 後ろ動作を始める
timer1.Enabled = true;
timer3.Enabled = false;
}
/// <summary>
/// label4 MouseUp
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void label4_MouseUp(object sender, MouseEventArgs e)
{
timer3.Enabled = false;
timer1.Enabled = false;
}
/// <summary>
/// time1 handle
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick(object sender, EventArgs e)
{
TrackBar1_Subtraction(); // trackBar1.Value set
}
/// <summary>
/// label5 mouse down operator
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void label5_MouseDown(object sender, MouseEventArgs e)
{
TrackBar1_Add();
timer4.Interval = 100;
timer4.Enabled = true;
}
/// <summary>
/// label5 mouse uo operator
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void label5_MouseUp(object sender, MouseEventArgs e)
{
timer4.Enabled = false;
timer2.Enabled = false;
}
/// <summary>
/// time2 handle
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer2_Tick(object sender, EventArgs e)
{
TrackBar1_Add();
}
/// <summary>
/// time4 handle
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer4_Tick(object sender, EventArgs e)
{
timer2.Interval = 50;
timer2.Enabled = true;
timer4.Enabled = false;
}