0

私は日曜日から無効にしたいウィンドウベースのアプリケーションに取り組んでいますDateTimePicker Control

日曜日を無効にすることはできますか?もしそうなら、親切に私を助けてください。

4

2 に答える 2

1

これを試して。それらはいくつかのより簡単な解決策かもしれません。しかし、私はこれを簡単なものとして持っています:)

日曜日の日付を無効にするのではなく、最後に選択した日付がそれより短い場合は月曜日に移動し、降りる場合は土曜日に移動します。日曜日を無効にするのと同じ

// デラレするには次の 3 つの変数が必要です

    DateTime lastDate;
    System.Text.RegularExpressions.Regex rg;
    bool valueChangingProgramatically = false;

    //If you have already Form_load Event, just add the body of following event in yours
    // Add form_load event and write this code in body
    private void Form1_Load(object sender, EventArgs e)
    {
        lastDate = dateTimePicker1.Value;
        rg = new System.Text.RegularExpressions.Regex("Sunday");
        if (lastDate < dateTimePicker1.Value)
            dateTimePicker1.Value = dateTimePicker1.Value.AddDays(1);
        // I am adding event of datetimepicker value changed at the end of FormLoad
        dateTimePicker1.ValueChanged += new EventHandler(dateTimePicker1_ValueChanged);
    }

    // valueChangingProgramatically avoids recursion/ infinte loop/repeteion of this event
    private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
        if (!valueChangingProgramatically)
        {
            if (rg.IsMatch(dateTimePicker1.Value.ToLongDateString()))
            {
                valueChangingProgramatically = true;
                if (lastDate < dateTimePicker1.Value)
                    dateTimePicker1.Value = dateTimePicker1.Value.AddDays(1);
                else
                    dateTimePicker1.Value = dateTimePicker1.Value.AddDays(-1);
            }

        }
        else
            valueChangingProgramatically = false;
        lastDate = dateTimePicker1.Value;
    }
于 2012-10-06T15:24:36.270 に答える
0

DateEditあなたの任意の機能を変更するために制御を使用することができますDateTimePicker Control...ここをチェックしてください。

于 2012-10-06T12:38:01.480 に答える