惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 【当耐特】
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
Engineering at Meta
Engineering at Meta
M
MIT News - Artificial intelligence
Google DeepMind News
Google DeepMind News
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
T
Tailwind CSS Blog
小众软件
小众软件
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
博客园_首页
MyScale Blog
MyScale Blog
博客园 - 聂微东
V
Visual Studio Blog
The Cloudflare Blog
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42

博客园 - 老码识途呀

基于.NET的Windows窗体编程之WinForms自定义控件(1) 基于.NET的Windows窗体编程之WinForms文件监控 基于.NET的Windows窗体编程之WinForms音频控件 基于.NET的Windows窗体编程之WinForms图像控件 基于.NET的Windows窗体编程之WinForms提示控件 基于.NET的Windows窗体编程之WinForms时间控件 基于.NET的Windows窗体编程之WinForms图表控件 基于.NET的Windows窗体编程之WinForms输入与显示 基于.NET的Windows窗体编程之WinForms菜单工具栏 基于.NET的Windows窗体编程之WinForms打印 基于.NET的Windows窗体编程之WinForms对话框 基于.NET的Windows窗体编程之WinForms列表控件 基于.NET的Windows窗体编程之WinForms数据表格 基于.NET的Windows窗体编程之WinForms事件简介 基于.NET的Windows窗体编程之WinForms布局简介 基于.NET的Windows窗体编程之WinForms控件简介 基于.NET的Windows窗体编程之WinForms入门简介 推荐一款基于.NET和百度飞桨的OCR识别组件 新书速递,手把手教你WPF入门与开发 推荐一种并发线程中资源同步常用方法 推荐一种手动设置异步线程等待机制的解决方案 推荐一种异步线程执行过程中更新进度的方法 推荐一款基于.NET的进程间数据交互经典解决方案 推荐一款线程or进程间数据同步解决方案 推荐一款代码规范检查(CodeReview)神器 推荐一款高性能状态机管理解决方案 推荐一款进程间高速交换数据的解决方案 推荐一款基于.NET的进程间通信框架 推荐一款基于EF-Core的分库分表利器 推荐一种程序崩溃闪退或卡死的分析方法
基于.NET的Windows窗体编程之WinForms滑块与上下控件
老码识途呀 · 2026-09-03 · via 博客园 - 老码识途呀

在实际应用开发中,滑块控件主要用于拖动滑块调整当前的阈值,如拖动调整颜色范围;上下控件主要用于通过点击上下按钮切换数值或选项,它们所需要的空间更少,操作更方便。合理的利用滑块控件和上下控件进行布局,还可以起到事半功倍的效果,今天我们以一些简单的小例子,简述基于.NET的Windows窗体编程中TrackBar,DomainUpDown,NumericUpDown控件的相关应用,仅供学习分享使用,如有不足之处,还请指正。

image

概述

今天讲解的控件主要有三个,都是不常用控件,但合理的利用,既可以提高用户体验,还可以减少页面占用,主要如下所示:

  • DomainUpDown,文本框和列表控件的组合,通过单击向上和向下按钮在列表中移动。
  • NumericUpDown,文本框和一对箭头的组合,用户可以单击这些箭头来调整数值的大小。
  • TrackBar,有时也称为“滑块”控件,用于直观调整数值设置。

DomainUpDown

DomainUpDown 控件类似于文本框与用于在列表中上下移动的一对按钮的组合,可以通过设置需要在控件中显示的列表项,用户可以通过单击向上和向下按钮在列表中移动、按上下箭头键,或键入与列表中的项目匹配的字符串来选择字符串。此控件的功能与列表框或组合框非常相似,但它占用的空间很少。DomainUpDown 控件的常见属性,主要有以下几个:

  •  Items,包含显示在控件中的对象列表,默认是字符串列表。
  • ReadOnly,表示控件的编辑框是否是只读的,如果设置为true,则只能通过鼠标点击上下按钮或键盘上的上下键进行选择,不能通过输入匹配的字符串来适配。
  • Wrap,表示是否循环显示,如果设置为true,当移动到最后一个时,按向下键时会自动移动到第一个选项;返回当移动到第一个时,按向上键时,会自动移动到最后一个选项。
  • Sorted,表示是否对列表中的选项进行排序,默认为false。
  • Text,设置控件显示的文本。

首先拖动DomainUpDown控件到Form表单中,然后选择控件,并在控件的属性窗口中,设置列表项内容(Items),如下所示:

image

切换到属性窗口的事件Tab页,选择SelectedItemChanged事件,双击添加事件处理函数,如下所示:

image

在事件处理函数中,添加如下逻辑:

private void domainUpDown1_SelectedItemChanged(object sender, EventArgs e)
{
    this.txtSelectIndex.Text = this.domainUpDown1.SelectedIndex.ToString();
    this.txtSelectResult.Text = this.domainUpDown1.SelectedItem?.ToString();
}

运行示例,效果如下所示:

image

NumericUpDown

NumericUpDown 类似于文本框和一对箭头的组合,用户可以单击这些箭头来调整值。 用户可以通过单击向上和向下箭头、按向上键和向下键或在控件的文本框部分键入数字来增加和减少数字。控件文本框中显示的数字可以具有各种格式,包括十六进制。NumericUpDown控件的关键属性,如下所示:

  • Value,获取或设置控件当前的数值。
  • Maximum,表示空间的最大值,默认值 100。 
  • Minimum ,表示控件的最小值,默认值 0。
  • Increment ,表示每次点击控件的上下箭头按钮时,改变的量,默认值 1。 

可以配置NumericUpDown 控件中值的显示方式,常用设置属性如下:

  • DecimalPlaces 表示小数点后显示的数字数,即表示显示几位小数;默认值为 0,不显示小数。
  • ThousandsSeparator 表示是否在每三个十进制数字之间插入分隔符,默认为false。
  • Hexadecimal 表示控件是否显示十六进制格式的值;默认值为false。

首先拖动NumericUpDown控件到Form表单中,然后选择控件,并在控件的属性窗口中,设置控件的属性,如下所示:

image

切换到属性窗口的事件Tab页,选择ValueChanged事件,双击添加事件处理函数,如下所示:

image

在事件处理函数中,添加如下逻辑:

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    this.txtNumericResult.Text = this.numericUpDown1.Value.ToString();
}

运行示例,效果如下所示:

image

TrackBar

TrackBar 控件(有时也称为“滑块”控件)用于直观调整数值设置。 该 TrackBar 控件由两部分组成:滑块(也称为拇指)和刻度线。 拇指是可以调整的部分,度线是以固定间隔排列的视觉指示器。 滑动条按照您指定的增量移动,并且可以水平或垂直对齐。TrackBar控件的常用属性,主要有以下几个:

  • Value,表示控件当前的值。
  • TickFrequency,表示是刻度线的间距。
  • Minimum,表示轨道条上的最小值。
  • Maximum,表示轨道条上的最大值。
  • SmallChange 表示按下向左键或向右键时拇指移动的位置数。
  • LargeChange 表示按下 PAGE UP 或 PAGE DOWN 键时拇指移动的位置数,或鼠标单击位于拇指两侧的跟踪栏。即鼠标在控件上点击一下,移动的量,鼠标在滑块左侧点击,则减少;鼠标在滑块右侧点击,则增加。

首先拖动TrackBar控件到Form表单中,然后选择控件,在右侧属性窗口中,可以设置控件的常见属性,如下所示:

image

在属性窗口中,切换到事件Tab页,然后在ValueChanged事件,双击文本框,添加值改变时事件处理函数,如下所示:

image

在事件处理函数中添加如下逻辑:

private void trackBar1_ValueChanged(object sender, EventArgs e)
{
    this.txtTrackBarValue.Text = this.trackBar1.Value.ToString();
}

运行示例,效果如下所示:

image

以上就是《基于.NET的Windows窗体编程之WinForms滑块与上下控件》的全部内容,旨在抛砖引玉,希望可以一起学习,共同进步!!!