我想在点击窗口形式的按钮后在文本框中使用月历日期。 打开表单时以及点击日历后可以隐藏日历时,应隐藏日历。
我正在使用Visual Studio 2008的c#。所以请根据这个工具给我回复。
答案 0 :(得分:1)
使用DateTimePicker类来实现此目的。它完全符合您描述的行为。
答案 1 :(得分:0)
尝试使用Control.Show()
方法和Control.Visible
属性:
private MonthCalendar _monthCalendar;
public Form1()
{
InitializeComponent();
// invisible on startup
_monthCalendar.Visible = false;
_monthCalendar.MaxSelectionCount = 1;
}
private void button1_Click(object sender, EventArgs e)
{
//show when needed
_monthCalendar.Show();
}
private void textBox1_Enter(object sender, EventArgs e)
{
_monthCalendar.Show();
}
private void textBox1_Leave(object sender, EventArgs e)
{
if (!_monthCalendar.Focused)
_monthCalendar.Visible = false;
}
private void monthCalendar_DateSelected(object sender, DateRangeEventArgs e)
{
var monthCalendar = sender as MonthCalendar;
textBox1.Text = monthCalendar.SelectionStart.ToString();
}
private void monthCalendar_Leave(object sender, EventArgs e)
{
var monthCalendar = sender as MonthCalendar;
monthCalendar.Visible = false;
}