1

ウィンドウフォームのボタンをクリックした後、テキストボックスで月のカレンダーの日付を使用したい。フォームが開いているときはカレンダーを非表示にし、ボタンをクリックするとカレンダーが表示されます。

Visual Studio 2008 で c# を使用しています。このツールに従って回答をお願いします。

4

2 に答える 2

1

これにはDateTimePickerクラスを使用します。まさにあなたが説明した動作をしています。

于 2012-10-24T08:03:34.440 に答える
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;
}
于 2012-10-24T08:06:55.333 に答える