C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: DateTimePickerの初期値について。


(過去ログ 16 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■5801 / inTopicNo.1)  DateTimePickerの初期値について。
  
□投稿者/ kk (1回)-(2007/07/24(Tue) 02:41:45)

分類:[C#] 

VC#2005を使用してます。

DateTimePickerを使いたいのですが、
初期設定で Checked を false に設定すると、Value に新しい日付を設定しても日付が変更されません。
Checked を true に変更すれば、きちんと反映されています。

何か見落としているのでしょうか?
どうしても解決策が見つかりませんでした。

よろしくお願いします。
引用返信 編集キー/
■5806 / inTopicNo.2)  Re[1]: DateTimePickerの初期値について。
□投稿者/ HIRO (60回)-(2007/07/24(Tue) 09:25:20)
HIRO さんの Web サイト
No5801 (kk さん) に返信
> VC#2005を使用してます。
>
> DateTimePickerを使いたいのですが、
> 初期設定で Checked を false に設定すると、Value に新しい日付を設定しても日付が変更されません。
> Checked を true に変更すれば、きちんと反映されています。
>
> 何か見落としているのでしょうか?
> どうしても解決策が見つかりませんでした。
>
> よろしくお願いします

ヘルプによると
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datetimepicker.checked(VS.80).aspx

Value プロパティに有効な DateTime 値が設定され、その表示された値を更新できる場合は true。それ以外の場合は false。既定値は true です。

とあるので、falseに設定 = 値を更新できない なので、仕様通りの動作なのではないでしょうか?

それとも私が何か勘違いしてるかな...
引用返信 編集キー/
■5808 / inTopicNo.3)  Re[2]: DateTimePickerの初期値について。
□投稿者/ kk (5回)-(2007/07/24(Tue) 10:06:55)

ロード時に
public Form1()
{
dateTimePicker1.Value = DateTime.Now.AddDays(-7);
dateTimePicker1.Checked = false;
}
と記述し、当日-7日の日付がvalueにはセットされていますが、表示の方が更新されません。

また、ボタンを押したタイミングで値を見てみると
private void button_Click(object sender, EventArgs e)
{
dateTimePicker1.Value = DateTime.Now.AddDays(-10);
dateTimePicker1.Checked = false;
}
この場合だとうまく更新できる。

引用返信 編集キー/
■5811 / inTopicNo.4)  Re[3]: DateTimePickerの初期値について。
□投稿者/ HIRO (61回)-(2007/07/24(Tue) 10:42:23)
HIRO さんの Web サイト
No5808 (kk さん) に返信
>
> ロード時に
> public Form1()
> {
> dateTimePicker1.Value = DateTime.Now.AddDays(-7);
> dateTimePicker1.Checked = false;
> }
> と記述し、当日-7日の日付がvalueにはセットされていますが、表示の方が更新されません。
>
> また、ボタンを押したタイミングで値を見てみると
> private void button_Click(object sender, EventArgs e)
> {
> dateTimePicker1.Value = DateTime.Now.AddDays(-10);
> dateTimePicker1.Checked = false;
> }
> この場合だとうまく更新できる。
>

当方では問題を再現することが出来ませんでした。
(AddDays(-7)が実行された値が、DateTimePickerに表示されました)

んー... 何でしょうね
仮に、新規でプロジェクト作成して、最初からその部分だけ実行して見たらどうなりますか?
それでも同じ問題が発生するのでしょうか?
引用返信 編集キー/
■5813 / inTopicNo.5)  Re[4]: DateTimePickerの初期値について。
□投稿者/ いしだ (16回)-(2007/07/24(Tue) 10:47:24)
いしだ さんの Web サイト
2007/07/24(Tue) 10:48:38 編集(投稿者)
こんにちは。

以下のようにForm1のLoad時にやってみてはどうでしょう?

private void Form1_Load(object sender, EventArgs e)
{
    dateTimePicker1.Value = DateTime.Now.AddDays(-7);
    dateTimePicker1.Checked = false;
}

引用返信 編集キー/
■5816 / inTopicNo.6)  Re[5]: DateTimePickerの初期値について。
□投稿者/ kk (6回)-(2007/07/24(Tue) 11:04:12)
みなさん、返信ありがとうございます。

なんとか無事、解決できました。
ありがとうございました。


以下詳細。
----------------------------------------------------------------------
this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dateTimePicker1.ShowCheckBox = true;

public Form1()
{
//このタイミングだとTextの方が更新されない。
dateTimePicker1.Value = DateTime.Now.AddDays(-7);
dateTimePicker1.Checked = false;
}
private void Form1_Load(object sender, EventArgs e)
{
//このタイミングだとうまく更新できた。
dateTimePicker1.Value = DateTime.Now.AddDays(-7);
dateTimePicker1.Checked = false;
}

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
Console.Write(dateTimePicker1.Value + "=" + dateTimePicker1.Text + "\n");
}
----------------------------------------------------------------------

dateTimePicker1_ValueChanged で Value が更新されたタイミングでValueとTextを取得してみた所、
Form1処理で1回目が呼ばれ、Valueの値は更新されるが、Textが空。
Form1_Load処理で2回目が呼ばれ、このタイミングだと両方が更新されました。

ちなみに新規で作成してみてもForm1処理タイミングでは駄目でした。



解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -