在ToolStrip中加入具有更好体验性的DateTimePicker
一、 需求的产生
很多时候,需要根据年月或日期来检索数据。在我的数据库中,如果只需要以月为单位,我一般按照200801这样的格式(yyyyMM)保存为int类型。在做数据检索时,是根据工具栏中的两个ToolStripComboBox(一个年,一个月)选择的数据合并成一个年月来检索数据,但是用户反映不够方便和直观,希望能够使用日期控件进行选择。效果如图:
如果不使用工具栏很好做,而使用工具栏又没有现成的日期工具栏控件,好在微软实现了一个ToolStripControlHost类,提供了将其他控件加入ToolStrip的能力。
二、 如何将DateTimePicker加入ToolStrip
由于DateTimePicker继承自Control,可以作为ToolStripControlHost的构造函数的参数构造一个ToolStripControlHost实例, 然后将这个实例直接作为ToolStrip的Item插入到ToolStrip的Items集合中,即可使用。
this.mainToolStrip.Items.Insert(1,new ToolStripControlHost(new DateTimePicker()));
如果不考虑控件在工具栏中的位置,可以使用Items.Add(ToolStripItem value)方法,使用Items.Insert(int index,ToolStripItem value)方法可以指定控件在工具栏中的位置。
三、 如何设置显示格式
DateTimePicker默认显示格式与用户要求的一般情况下不相同,需要在程序中进行设置。
DateTimePicker dtp = new DateTimePicker();dtp.Format = DateTimePickerFormat.Custom;//自定义格式dtp.CustomFormat = "yyyyMM";//自定义格式dtp.Width = 100; this.mainToolStrip.Items.Insert(1,new ToolStripControlHost(dtp));
四、如何使用
工具栏中已经加入了DateTimePicker,但是怎么使用的,这样动态加入工具栏的控件不能直接使用,我们可以按照下面的方式使用:
int yyyyMM = Convert.ToInt32(mainToolStrip.Items[1].Text);
五、参考文章
1.http://www.cnblogs.com/kevinShan/archive/2007/02/01/636849.html
2.http://msdn2.microsoft.com/zh-cn/library/5daaw6hf.aspx
在ToolStrip中加入具有更好体验性的DateTimePicker相关推荐
- WebSocket的故事(六)—— Springboot中,实现更灵活的WebSocket
概述 WebSocket的故事系列计划分五大篇六章,旨在由浅入深的介绍WebSocket以及在Springboot中如何快速构建和使用WebSocket提供的能力.本系列计划包含如下几篇文章: 第一篇 ...
- 新款智能枕头为人们的生活带来更佳体验
由于当代人们生活节奏加快,所以脱发和失眠都是人们常常谈及的问题,脱发问题尚且可以通过各种手段缓解,但是失眠有可能会对人们的身体健康产生重大的影响,而为了缓解人们的失眠问题和改善人们的睡眠质量,智能枕头 ...
- 使用空密码的本地帐户只允许进行控制台登陆_在群晖中运行Windows是什么样体验?教你VMM虚拟机简单使用...
原文作者:atunverse NAS折腾记 篇二:一机两用,在群晖中运行Windows是什么样体验?VMM虚拟机简单使用 上篇说到我上了矿车并准备用其替代掉原来服役的黑群,既然要替代肯定是要能够完成之 ...
- 减少认知过载可以为用户带来更佳体验
本文讲的是减少认知过载可以为用户带来更佳体验, 最棒的用户体验是不会让用户察觉到的.它使得界面流畅易用,但成百上千的重要设计决策都是出于引导(用户),引起(用户)兴趣以及规避风险的目的. 如果用户体验 ...
- 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...
本节书摘来自异步社区<Android游戏开发详解>一书中的第1章,第1.6节函数(在Java中称为"方法"更好),作者 [美]Jonathan S. Harbour,更 ...
- Windows系统中让硬盘更快的九大绝招
Windows系统中让硬盘更快的九大绝招 一.合理使用硬盘 何为合理使用硬盘呢?首先我们要了解硬盘盘片的物理结构.分区并格式化后的硬盘却是以扇区为基本单位的,一个分区是由若干个扇区构成的.那什么是扇 ...
- pagehelper的使用_SpringBoot项目中,如何更规范的使用PageHelper分页?
SpringBoot项目中,如何更规范的使用PageHelper分页,拉勾IT课小编为大家分解 一. 开发准备 1. 开发工具 • IntelliJ IDEA 2020.2.3 2. 开发环境 • R ...
- McGill微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!...
关注公众号,发现CV技术之美 本文分享论文CvT : Introducing Convolutions to Vision Transformers,由McGill&微软联合提出<CvT ...
- 传统到敏捷的转型中,谁更适合做Scrum Master?
摘要:本文主要讲述的是从传统到敏捷Scrum团队转型中,对Scrum Master这一角色的分析. 本文分享自华为云社区<传统到敏捷的转型中,谁更适合做Scrum Master?>,作者: ...
最新文章
- Nginx前端设置反向代理,后端Apache如何获取访客的真实IP,结合PHP。
- mysql 索引语法_MySQL 索引:语法及案例剖析
- Java全套零基础视频教程,2019最新编程
- mongodb----集合而定多种查询方式
- CF372D. Choosing Subtree is Fun
- 更快的Maven构建工具mvnd和Gradle哪个性能更好?
- poj1236/luogu2746 Network of Schools (tarjan)
- ann matlab,MatlabANN工具箱实用指南.doc
- eclipse或Myeclipse中web项目没有run on server时怎么办?
- 苹果新功能惹众怒,4000多家组织和个人签署公开信 敦促苹果放弃“儿童安全”功能...
- 信息系统项目管理师论文写作技巧
- idea git push时 报错 Push rejected: Push to origin/master was rejected
- 'i' format requires -2147483648 = number = 2147483647
- 郎咸平:用友和金蝶的长板在哪儿
- 小白秒变大神--windows窗口+装B神器大全 两部曲
- 八哥英语词根词缀汇总
- 矩阵的模的平方matlab,matlab求矩阵、向量的模
- python生兔子问题(递归算法)_python 实现兔子生兔子示例
- 2020年电商设计风格分析
- SpringCloud Gateway API接口安全设计(加密 、签名)