热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ProgressBar控件和 TrackBar控件

15、ProgressBar控件和TrackBar控件1.ProgressBar控件ProgressBar控件又称进度条控件,它在工具栏中的图标为,该控件在水平栏中显示适当长

15、ProgressBar控件和 TrackBar控件
1.ProgressBar控件
ProgressBar 控件又称进度条控件,它在工具栏中的图标为 ,该控件在水平栏中显示适当长度的矩形来指示进程的进度。当执行进程时,进度条用系统突出显示颜色在水平栏中从左向右进行填充。进程完成时,进度栏被填满。当某进程运行时间较长时,如果没有视觉提示,用户可能会认为应用程序不响应,通过在应用程序中使用进度条,就可以告诉用户应用程序正在执行冗长的任务且应用程序仍在响应。 ProgressBar控件的常用属性如下。
(1)Maximum属性:用来设置或返回进度条能够显示的最大值,默认值为100。 (2)Minimum属性:用来设置或返回进度条能够显示的最小值,默认值为0。 (3)Value属性:用来设置或返回进度条的当前位置。
(4)Step属性:用来设置或返回一个值,该值用来决定每次调用PerformStep 方法时, Value属性增加的幅度。例如,如果要复制一组文件,则可将 Step 属性的值设置为 1,并将 Maximum 属性的值设置为要复制的文件总数。在复制每个文件时,可以调用PerformStep方法按Step属性的值增加进度栏。 ProgressBar控件的常用方法如下。
(1)Increment方法:用来按指定的数量增加进度条的值,调用的一般格式如下:
progressBar对象.Increment(n);
其功能是把“progressBar对象”指定的进度条对象的Value属性值增加n,n为整数。调用该方法之后,若Value属性大于Maximum属性的值,则 Value属性值就是Maximum值,若Value属性小于Minimum属性值,则 Value属性值就是Minimum值。 (2)PerformStep方法:用来按step属性值来增加进度条的Value属性值,调用的一般格式如下: progressBar对象.PerformStep(); 该方法无参数。例如,下列程序段是一个显示复制多个文件的进度的进度条使用方法。

privatevoidCopyWithProgress(string[]filenames) { pBar1.Visible=true; 
pBar1.Minimum=1;
pBar1.Maximum=filenames.Length; pBar1.Value=1; pBar1.Step=1;
for(intx=1;x<=filenames.Length;x++) { if(CopyFile(filenames[x-1])==true)
{
pBar1.PerformStep(); } }
}
ProgressBar控件能响应很多事件,但一般很少使用。

26、键盘事件处理
键盘事件在用户按下键盘上的键时发生,可分为两类。第一类是KeyPress事件,当按下的键表示的是一个ASCII 字符时就会触发这类事件,可通过它的 KeyPressEventArgs 类型参数的属性 KeyChar 来确定按下键的 ASCII 码。使用 KeyPress 事件无法判断是否按下了修改键(例如 Shift,Alt 和 Ctrl 键),为了判断这些动作, 就要处理KeyUp 或KeyDown事件, 这些事件组成了第二类键盘事件。 该类事件有一个KeyEventArgs类型的参数,通过该参数可以测试是否按下了一些修改键、功能键等特殊按键信息。 1.KeyPressEventArgs类的主要属性(KeyPress事件的一个参数类型)
(1)Handled属性:用来获取或设置一个值,该值指示是否处理过KeyPress事件。 (2)KeyChar属性:用来获取按下的键对应的字符,通常是该键的ASCII码。 2.KeyEventArgs类的主要属性(KeyUp和 KeyDown事件的一个参数) (1)Alt属性:用来获取一个值,该值指示是否曾按下Alt键。 (2)Control属性:用来获取一个值,该值指示是否曾按下Ctrl键。 (3)Shift属性:用来获取一个值,该值指示是否曾按下Shift键。
(4)Handled属性:用来获取或设置一个值,该值指示是否处理过此事件。
(5)KeyCode属性:以 Keys枚举型值返回键盘键的键码,该属性不包含修改键(Alt、Control和 Shift键)信息,用于测试指定的键盘键。
(6)KeyData 属性:以 Keys 枚举类型值返回键盘键的键码,并包含修改键信息,用于判断关于按下键盘键的所有信息。
(7)KeyValue属性:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键盘键的数字表示。
(8)Modifiers 属性:以 Keys 枚举类型值返回所有按下的修改键(Alt、Control 和 Shift 键),仅用于判断修改键信息。
27、鼠标事件处理
对鼠标操作的处理是应用程序的重要功能之一,在VisualC#中有一些与鼠标操作相关的事件,利用它们可以方便地进行与鼠标有关的编程。
(1)MouseEnter事件:在鼠标指针进入控件时发生。
(2)MouseMove事件:在鼠标指针移到控件上时发生。事件处理程序接收一个MouseEventArgs类型的参数,该参数包含与此事件相关的数据。该参数的主要属性及其含义如下。 Button属性:用来获取曾按下的是哪个鼠标按钮。该属性是MouseButtons枚举型的值, 取值及含义如下:Left(按下鼠标左按钮)、Middle(按下鼠标中按钮)、Right(鼠标右按钮)、None(没有按下鼠标按钮)、 XButton1 (按下了第一个XButton按钮, 仅用于Microsoft智能鼠标浏览器) 和XButton2(按下了第二个XButton按钮,仅用于 Microsoft智能鼠标浏览器) Clicks属性:用来获取按下并释放鼠标按钮的次数。
Delta属性:用来获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口。 X 属性:用来获取鼠标所在位置的x坐标。 Y 属性:用来获取鼠标所在位置的y坐标。
(3)MouseHover事件:当鼠标指针悬停在控件上时将发生该事件。
(4)MouseDown事件:当鼠标指针位于控件上并按下鼠标键时将发生该事件。事件处理程序也接收一个 MouseEventArgs类型的参数。
(5)MouseWheel事件:在移动鼠标轮并且控件有焦点时将发生该事件。该事件的事件处理程序接收一个MouseEventArgs类型的参数
(6)MouseUp 事件:当鼠标指针在控件上并释放鼠标键时将发生该事件。事件处理程序也接收一个 MouseEventArgs类型的参数。

(7)MouseLeave事件:在鼠标指针离开控件时将发生该事件。 - 23 –
28、排列窗体上的控件对齐
窗体对齐的步骤: 1.选择要对齐的控件
2.在VS菜单中,选择“格式”→“对齐”选项,单击想要的对齐方式 注:你选择的第一个控件是主控件,其他的控件都与他对齐。
使用Anchor
Anchor是锚定的意思,它的作用就是设置控件相对于窗体的某个边缘的距离保持不变,也就是说与窗体一起动态调整控件的大小,这是每个控件都有的属性。
使用步骤:
1.选择要锚定的控件2.在“属性”窗口中,单击Anchor属性右边的箭头,显示编辑器 3.在显示的十字行上选择或清除控件锚定的边4.单击Anchor属性名,关闭编辑器
使用Dock
Dock是让控件始终保持在窗体的边缘,或者填充窗体 使用步骤:
1. 选择要停靠的控件在“属性”窗口中,单击Dock属性的右侧箭头,显示编辑器 2. 设置停靠方式创建多文档界面应用程序(MDI) 什么是MDI
要在一个窗口中打开多个文件,就要使用MDI(多文档界面)应用程序 MDI主要由两种窗口组成:父窗口和子窗口
MDI的几个显著的特点: 1. 启动一个MDI应用程序时,首先显示父窗体 2. 它是应用程序中所有其他窗口的容器
3. 每个应用程序界面都只能有一个MDI父窗体 4.
在任何指定的时间都可以打开多个子窗体
5. 任何MDI子窗体都不能移出MDI框架区域
6. 关闭MDI父窗体则自动关闭所有打开的MDI子窗体
如何创建MDI
创建MDI步骤:
1. 设置父窗体:将父窗体的IsMDICContainer属性设置为True
2. 设置子窗体:在调用打开子窗体的Show()方法前,在代码中将子窗体的MdiParents属性设置为
this 为父窗体添加子窗体列表 1. 在父窗体中添加一个菜单 2. 添加一个“窗口”菜单项
3. 将菜单控件的MdiWindowListItem属性设为“窗口”菜单项
使用WinForms高级控件
工具条(ToolStrip):
使用工具条可以创建功能非常强大的工具栏,工具条控件可以包含按钮、标签、下拉按钮、文本框、组
合框等,可以显示文字、图片或文字加图片。
状态条(StatusStrip):状态条常常放在窗体的底部,用来显示一些基本信息。在状态条控件中可以包含
标签、下拉按钮等,常常和工具条、菜单栏等配合使用。工具条和状态条的主要属性和事件
属性
说明
ImageScalingSize
工具条或状态条中的项显示的图像的大小 Items 在工具条或状态条上显示的项的集合
DisplayStyle
设置图像和文本的显示方式,包括显示文本、显示图像、
显示文本和图像或什么都不显示
Text 按钮\标签上显示的文本 Image 按钮/标签上显示的图片
事件 说明
Click
单击按钮/标签时,触发该事件
选项卡(TabControl):
这个控件可以显示多个选项卡页,选项卡中可以包含图片和其他控件选项卡的主要属性
属性 说明
MultiLine 是否可以显示多行选项卡 TabPages 包含的选项卡页的集合 SelectedIndex
当前所选选项卡页的索引值

图片框(PictureBox): 
用于显示位图、DIF、JEPG等格式的图片或这图标图片框的主要属性 
属性 方法 
Image 图片框显示的图片 
SizeMode 
指定如何处理图片的位置和控件的大小  
图像列表框(ImageList): 
用于储存Windows窗体其他控件使用的图像图像列表框的主要属性 
属性 方法 
Images 储存在图像列表中的所有图像 
ImageSize 图像列表中图像的大小 TransparentColor 
被视为透明的颜色 
Image中存放的图像就像存放在数组中一样,每个图像都有一个索引值,从0开始,使用Image[索引值],
可以定位到一个图像


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
author-avatar
中孝雪瑶诗涵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有