C# 两个textBox控件调用同一个monthCalendar输入日期
2008-05-29 12:09
113 查看
C# 多个textBox控件调用同一个monthCalendar输入日期:代码如下
需要添加textBox1+textBox2+monthCalendar1控件
DateTime FirstClick;
int TextBoxNumber;
private void textBox1_Click(object sender, EventArgs e)
{
this.TextBoxNumber = 1;
this.monthCalendar1.Visible = true;
}
private void textBox2_Click(object sender, EventArgs e)
{
this.TextBoxNumber = 2;
this.monthCalendar1.Visible = true;
}
/// <summary>
/// 日期控件调用函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
if (this.TextBoxNumber == 1)
{
MonthCalendarDoubleClick(this.textBox1, this.monthCalendar1);
}
else
{
MonthCalendarDoubleClick(this.textBox2, this.monthCalendar1);
}
}
/// <summary>
/// 双击日期控件调用函数
/// </summary>
/// <param name="SelectedTextBox"></param>
/// <param name="monthCalendar"></param>
private void MonthCalendarDoubleClick(TextBox SelectedTextBox, MonthCalendar monthCalendar)
{
DateTime SecondClick = DateTime.Now;//记录下第二次单击时间;
string ClickSpan = Convert.ToString(SecondClick - FirstClick);//计算两次单击的时间间隔;格式为:00:00:00.1875000
string Separator = ":.";
char[] CharClickSpan = Separator.ToCharArray();
string[] arrayClickSpan = ClickSpan.Split(CharClickSpan);
if (arrayClickSpan.Length == 4 && arrayClickSpan[0].Equals("00") && arrayClickSpan[1].Equals("00") && arrayClickSpan[2].Equals("00"))
{
if (Convert.ToInt32(arrayClickSpan[3].Substring(0, 3)) > SystemInformation.DoubleClickTime)//如果两次单击的时间间隔大于系统双击时间;
{
FirstClick = SecondClick;//赋第二次单击时间给第一次;
}
else
{
//两次单击的时间间隔小于或者等于喜欢双击时间
SelectedTextBox.Text = monthCalendar.SelectionStart.ToString("yyyy-MM-dd");//把双击选中的文本赋给TextBox;
this.monthCalendar1.Visible = false;
}
}
else
{
FirstClick = SecondClick;
}
}
需要添加textBox1+textBox2+monthCalendar1控件
DateTime FirstClick;
int TextBoxNumber;
private void textBox1_Click(object sender, EventArgs e)
{
this.TextBoxNumber = 1;
this.monthCalendar1.Visible = true;
}
private void textBox2_Click(object sender, EventArgs e)
{
this.TextBoxNumber = 2;
this.monthCalendar1.Visible = true;
}
/// <summary>
/// 日期控件调用函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
if (this.TextBoxNumber == 1)
{
MonthCalendarDoubleClick(this.textBox1, this.monthCalendar1);
}
else
{
MonthCalendarDoubleClick(this.textBox2, this.monthCalendar1);
}
}
/// <summary>
/// 双击日期控件调用函数
/// </summary>
/// <param name="SelectedTextBox"></param>
/// <param name="monthCalendar"></param>
private void MonthCalendarDoubleClick(TextBox SelectedTextBox, MonthCalendar monthCalendar)
{
DateTime SecondClick = DateTime.Now;//记录下第二次单击时间;
string ClickSpan = Convert.ToString(SecondClick - FirstClick);//计算两次单击的时间间隔;格式为:00:00:00.1875000
string Separator = ":.";
char[] CharClickSpan = Separator.ToCharArray();
string[] arrayClickSpan = ClickSpan.Split(CharClickSpan);
if (arrayClickSpan.Length == 4 && arrayClickSpan[0].Equals("00") && arrayClickSpan[1].Equals("00") && arrayClickSpan[2].Equals("00"))
{
if (Convert.ToInt32(arrayClickSpan[3].Substring(0, 3)) > SystemInformation.DoubleClickTime)//如果两次单击的时间间隔大于系统双击时间;
{
FirstClick = SecondClick;//赋第二次单击时间给第一次;
}
else
{
//两次单击的时间间隔小于或者等于喜欢双击时间
SelectedTextBox.Text = monthCalendar.SelectionStart.ToString("yyyy-MM-dd");//把双击选中的文本赋给TextBox;
this.monthCalendar1.Visible = false;
}
}
else
{
FirstClick = SecondClick;
}
}
相关文章推荐
- C# 两个textBox控件调用同一个monthCalendar输入日期
- C# 两个textBox控件调用同一个monthCalendar输入日期
- 编写一个java应用程序,用户从输入对话框输入两个日期,程
- 设计一个程序输入两个日期计算相隔多少天,或计算一个日期加上间隔后的日期。
- 黑马程序员之C#编程基础学习笔记:提示用户输入两个整数(假设i1,i2)。如果i1,i2都是正数,则将i2的值递增一个数,然后打印i1+i2的值;如果i1,i2都是负数,则将i1的值递减10个数,然后
- C#8—写一个测试标准身高体重的程序、输入日期年月日, 计算这一天是一年中的第几天(考虑闰年)
- 输入一个日期,判断这个日期在一年中是哪一天,是星期几,计算两个日期间的天数,使用字符串输出日期
- c#的一个函数调用程序(怎样让用文本框输入m和n,结果用一个文本框(或列表框)显示出来。)
- 得到两个日期得间隔数,VB中的DateDiff ,我自己写了一个C#的
- 【搬家】【.NET】【C#】C# 中将一个 TextBox 设置为内容只能输入 IP格式
- C#正则表达式判断输入日期格式是否正确
- 如何用C#创建一个类并在其他Web页中调用该类的方法(1)
- //编写一个程序,显示用户输入的一个日期是该年度的第几天。
- 输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果
- 每天一道算法题7 查找链表中倒数第k个结点 ; 输入一个单向链表。如果该链表的结点数为奇数,输出中间的结点;如果链表结点数为偶数,输出中间两个结点前面的一个
- 输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。
- 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
- C#判断两个日期是否在同一周,某日期是本月的第几周
- C#:求两个日期之间的天数
- 窗口上提供四个文本框和一个按钮,幼儿可以在前三个文本框中输入两个运算数和运算符号,当点击按钮时在第四个文本框中显示结果。