ウィンドウフォームのボタンをクリックした後、テキストボックスで月のカレンダーの日付を使用したい。フォームが開いているときはカレンダーを非表示にし、ボタンをクリックするとカレンダーが表示されます。
Visual Studio 2008 で c# を使用しています。このツールに従って回答をお願いします。
ウィンドウフォームのボタンをクリックした後、テキストボックスで月のカレンダーの日付を使用したい。フォームが開いているときはカレンダーを非表示にし、ボタンをクリックするとカレンダーが表示されます。
Visual Studio 2008 で c# を使用しています。このツールに従って回答をお願いします。
これにはDateTimePickerクラスを使用します。まさにあなたが説明した動作をしています。
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;
}