DateTimePicker.Text が空の文字列になる

DateTimePicker コントロールの Text プロパティは、コントロールへのハンドルが作成されるまで空の文字列に設定されるようになりました。

導入されたバージョン

.NET 8

以前の動作

これまで、DateTimePicker.Text プロパティは DateTimePicker が構築されるとすぐに利用できていました。

新しい動作

.NET 8 以降、DateTimePicker.Text プロパティはハンドルが作成されるまで空の文字列となります。 ハンドルが作成されると、Text はコントロール内に現在表示されている日付に設定されます。

カテゴリの変更

この変更は、動作変更です。

変更理由

この変更は、ナレーター (スクリーン リーダー) が読み上げる内容を表示されるテキストと一致させるために導入されました。

コードがこの変更の影響を受ける場合は、次のコード スニペットに示すように、Text プロパティにアクセスするタイミングを遅らせてください。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        Shown += DateTimePicker_Shown;
    }

    private void DateTimePicker_Shown(object sender, EventArgs e)
    {
        string date = this.dateTimePicker1.Text;
    }
}

影響を受ける API