0

2つのForms.Form1がメインで、Form2のdatetimepickerで選択された日付のmsgboxを表示するボタンがあります。msgboxに表示される日付は短い形式(dd.MM.yyyy。)である必要があります。

プログラムの開始時に、ユーザーがForm2で別の日付を選択しない限り、datetimepickerを今日にリセットし、msgboxに今日の日付を表示する必要があります。ユーザーがFrom2に移動し、日付を変更した場合、Form 2は新しい値を保存し、form1のボタンクリック後にmsgboxに表示されます。どうすればこれを行うことができますか?

タイプ「DATE」の設定でmyDateパラメータを作成しましたが、値を設定しませんでした。form1ロードで私は持っています: my.Settings.myDate = Today

Form2ロードで私は持っています:

datetimepicker1.Value = my.Settings.myDate

Form2のクロージングで私は持っています:

 my.Settings.myDate = datetimepicker1.Value

これにより、ピッカーの日付が正しく設定されますが、form2に移動して値を変更し、form2を閉じて再度開くと、選択した日付が表示されますが、msgboxには初期値が表示されます。

ありがとうございました

4

1 に答える 1

0

メッセージボックスを表示する行を次のように変更します。

MsgBox(my.Settings.myDate)

または、さらに良いことに、VB6の方法ではなく.NETの方法に変更します。

MessageBox.Show(my.Settings.myDate.ToShortDateString())

失敗する理由は、表示しているフォームのインスタンスと同じである場合とそうでない場合があるフォームへのグローバルForm2参照を使用しているためだと思います。あなたのコードをもっと見ずに言うのは難しいです。

于 2012-06-05T17:45:53.710 に答える