一、 需求的产生
      很多时候,需要根据年月或日期来检索数据。在我的数据库中,如果只需要以月为单位,我一般按照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相关推荐

  1. WebSocket的故事(六)—— Springboot中,实现更灵活的WebSocket

    概述 WebSocket的故事系列计划分五大篇六章,旨在由浅入深的介绍WebSocket以及在Springboot中如何快速构建和使用WebSocket提供的能力.本系列计划包含如下几篇文章: 第一篇 ...

  2. 新款智能枕头为人们的生活带来更佳体验

    由于当代人们生活节奏加快,所以脱发和失眠都是人们常常谈及的问题,脱发问题尚且可以通过各种手段缓解,但是失眠有可能会对人们的身体健康产生重大的影响,而为了缓解人们的失眠问题和改善人们的睡眠质量,智能枕头 ...

  3. 使用空密码的本地帐户只允许进行控制台登陆_在群晖中运行Windows是什么样体验?教你VMM虚拟机简单使用...

    原文作者:atunverse NAS折腾记 篇二:一机两用,在群晖中运行Windows是什么样体验?VMM虚拟机简单使用 上篇说到我上了矿车并准备用其替代掉原来服役的黑群,既然要替代肯定是要能够完成之 ...

  4. 减少认知过载可以为用户带来更佳体验

    本文讲的是减少认知过载可以为用户带来更佳体验, 最棒的用户体验是不会让用户察觉到的.它使得界面流畅易用,但成百上千的重要设计决策都是出于引导(用户),引起(用户)兴趣以及规避风险的目的. 如果用户体验 ...

  5. 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...

    本节书摘来自异步社区<Android游戏开发详解>一书中的第1章,第1.6节函数(在Java中称为"方法"更好),作者 [美]Jonathan S. Harbour,更 ...

  6. Windows系统中让硬盘更快的九大绝招

    Windows系统中让硬盘更快的九大绝招 一.合理使用硬盘  何为合理使用硬盘呢?首先我们要了解硬盘盘片的物理结构.分区并格式化后的硬盘却是以扇区为基本单位的,一个分区是由若干个扇区构成的.那什么是扇 ...

  7. pagehelper的使用_SpringBoot项目中,如何更规范的使用PageHelper分页?

    SpringBoot项目中,如何更规范的使用PageHelper分页,拉勾IT课小编为大家分解 一. 开发准备 1. 开发工具 • IntelliJ IDEA 2020.2.3 2. 开发环境 • R ...

  8. McGill微软将卷积操作加入到ViT中,捕获更详细的局部信息!准确率达87.7%!代码已开源!...

    关注公众号,发现CV技术之美 本文分享论文CvT : Introducing Convolutions to Vision Transformers,由McGill&微软联合提出<CvT ...

  9. 传统到敏捷的转型中,谁更适合做Scrum Master?

    摘要:本文主要讲述的是从传统到敏捷Scrum团队转型中,对Scrum Master这一角色的分析. 本文分享自华为云社区<传统到敏捷的转型中,谁更适合做Scrum Master?>,作者: ...

最新文章

  1. Nginx前端设置反向代理,后端Apache如何获取访客的真实IP,结合PHP。
  2. mysql 索引语法_MySQL 索引:语法及案例剖析
  3. Java全套零基础视频教程,2019最新编程
  4. mongodb----集合而定多种查询方式
  5. CF372D. Choosing Subtree is Fun
  6. 更快的Maven构建工具mvnd和Gradle哪个性能更好?
  7. poj1236/luogu2746 Network of Schools (tarjan)
  8. ann matlab,MatlabANN工具箱实用指南.doc
  9. eclipse或Myeclipse中web项目没有run on server时怎么办?
  10. 苹果新功能惹众怒,4000多家组织和个人签署公开信 敦促苹果放弃“儿童安全”功能...
  11. 信息系统项目管理师论文写作技巧
  12. idea git push时 报错 Push rejected: Push to origin/master was rejected
  13. 'i' format requires -2147483648 = number = 2147483647
  14. 郎咸平:用友和金蝶的长板在哪儿
  15. 小白秒变大神--windows窗口+装B神器大全 两部曲
  16. 八哥英语词根词缀汇总
  17. 矩阵的模的平方matlab,matlab求矩阵、向量的模
  18. python生兔子问题(递归算法)_python 实现兔子生兔子示例
  19. 2020年电商设计风格分析
  20. SpringCloud Gateway API接口安全设计(加密 、签名)

热门文章

  1. C#的网络适配器操作
  2. 在多个游戏视图间切换实现效果
  3. sudo apt-get 和dpkg命令大全
  4. php ×××号码效验码生成函数
  5. 逃离伪PHP程序员应该做的事
  6. 【JavaScript框架封装】公共框架的封装
  7. python exec
  8. iOS之CAEmitterLayer粒子引擎
  9. linux学习:文件属性(一)—— inode
  10. Python数据分析工具:Pandas_Part 1