一.扩展说明
本次扩展,新增直接对Year和Month的调整.其中,Year部分,通过TextBox来定位调整;Month部分,采用右键菜单勾选.
二.运行时效果
![](https://p-blog.csdn.net/images/p_blog_csdn_net/csharp_start/jcsdatetimeexpend-001.JPG)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/csharp_start/updatedatetime-001.JPG)
三.扩展代码
主要是定义了一个TextBox,一个contextMenu来完成操作,以下是代码片段:
private
void
HideEditTextBox()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if (_editTextBox != null)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if (_editTextBox.Visible || _editTextBox.Focused)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
_editTextBox.Visible = false;
}
}
}
void
item_Click(
object
sender, EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
MenuItem item = sender as MenuItem;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
string s = this.lblcaption.Text;
DateTime value = this.jcsDatetime1.Value;
int month = Convert.ToInt32(item.Text.Substring(0, item.Text.IndexOf("月")));
this.jcsDatetime1.Value = new DateTime(Convert.ToInt32(s), month, value.Day);
this._selectedItem.Checked = false;
item.Checked = true;
this._selectedItem = item;
}