当前位置: 首页 > news >正文

winform日历控件_进度条控件

在 Windows Forms 应用程序中使用日历控件 (如 MonthCalendarDateTimePicker) 和进度条控件 (如 ProgressBar) 是一个很好的练习,以了解这些控件的工作方式。以下是一些基本的步骤来实践这些控件:

日历控件:

  1. 添加 MonthCalendar 控件:

    • 在 Visual Studio 的“工具箱”中找到 MonthCalendar 控件。
    • 将其拖放到窗体上。
  2. 配置 MonthCalendar 属性:

    • 通过属性窗口可以设置不同的属性,比如首日是星期几、日期格式等。
  3. 添加 DateTimePicker 控件:

    • 同样,在“工具箱”中找到 DateTimePicker 控件并将其拖放到窗体上。
  4. 配置 DateTimePicker 属性和事件:

    • 可以设置显示格式,例如时间或日期。
    • 还可以为它添加事件处理程序来响应用户的选择变动。

进度条控件:

  1. 添加 ProgressBar 控件:

    • 找到 ProgressBar 控件,并将其拖放到窗体上。
  2. 配置 ProgressBar 属性:

    • 设置最小值(通常为0)和最大值。
    • 你也可以更改其他视觉效果的属性(如 Step、MarqueeAnimationSpeed 等)。
  3. 动态更新 Progress Bar:

    • 通常通过代码逻辑使 ProgressBar 更新。例如计时器或长时间运行的任务执行过程中更新进度。

下面是一段演示如何使用和操作以上提及控件的简单代码示例:

private void Form1_Load(object sender, EventArgs e)
{// Initialize the ProgressBar control.progressBar1.Minimum = 0;progressBar1.Maximum = 100;progressBar1.Step = 10;
}private void buttonStart_Click(object sender, EventArgs e)
{// Start the process which updates the progress bar.for(int i = progressBar1.Minimum; i <= progressBar1.Maximum; i += progressBar1.Step){System.Threading.Thread.Sleep(200); // Simulate a time consuming operationprogressBar1.Value = i;}
}private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{// Respond to a new date selected in the month calendar.MessageBox.Show("Selected start date: " + e.Start.ToShortDateString() +"\nEnd date: " + e.End.ToShortDateString());
}private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{// Respond to a new date/time selection in the DateTimePicker.MessageBox.Show("New Date/Time selected: " + dateTimePicker1.Value.ToString());
}

请确保创建适当按钮来启动进度条,并添加相应的事件处理器对话框中填充所需逻辑。需要注意在实际应用程序内可能不会使用线程休眠 (Thread.Sleep),因为这会导致界面冻结。取而代之的是,你可能要采用后台工作者 (BackgroundWorker) 或异步编程模式以避免界面失去响应。

http://www.lryc.cn/news/330486.html

相关文章:

  • Java进阶-反射的详解与应用
  • 蓝桥杯算法题——暴力枚举法
  • 【教程】Kotlin语言学习笔记(六)——泛型
  • 【中文视觉语言模型+本地部署 】23.08 阿里Qwen-VL:能对图片理解、定位物体、读取文字的视觉语言模型 (推理最低12G显存+)
  • 【Qt 学习笔记】Qt 背景介绍
  • C++递推算法
  • Go项目结构整洁实现|GitHub 3.5k
  • Python读取PDF文字 去掉页眉页脚
  • Linux:入门篇
  • NSSCTF Round#20 Basic 真亦假,假亦真 CSDN_To_PDF V1.2 出题笔记 (附wp+源码)
  • 处理关于 React lazy 白屏的两种方案
  • Nginx 基础
  • C++完美转发(适合小白)
  • 如何创建自己的 Spring Boot Starter 并为其编写单元测试
  • C++ :STL中deque的原理
  • AttributeError: ‘Namespace‘ object has no attribute ‘EarlyStopping‘
  • 深度学习pytorch——卷积神经网络(持续更新)
  • 【edge浏览器无法登录某些网站,以及迅雷插件无法生效的解决办法】
  • OpenHarmony无人机MAVSDK开源库适配方案分享
  • 模型训练----parser.add_argument添加配置参数
  • 数字未来:探索 Web3 的革命性潜力
  • 群晖NAS使用Docker部署大语言模型Llama 2结合内网穿透实现公网访问本地GPT聊天服务
  • [选型必备基础信息] 存储器
  • C++——C++11线程库
  • 机器学习 | 线性判别分析(Linear Discriminant Analysis)
  • TypeScript-数组、函数类型
  • Python深度学习034:cuda的环境如何配置
  • 【论文笔记】Text2QR
  • 【ReadPapers】A Survey of Large Language Models
  • 站群CMS系统