[ad_1]
入力された日から正確な日付を伝えるプログラムを c# winform で作成しています。 ここでは、2 つの DateTimePicker と 1 つの Textbox を使用しています。
例えば :
DateTimePicker1.Text = textbox1.Text + DateTimePicker2.Text; // 入力した日から正確な日付が表示されます。
Textbox でこの出力を生成したい:
2022 年 1 月 11 日 + 180 日 = 2023 年 4 月 30 日
教えてください。 私はC#が初めてなので、コードまたはアルゴリズムを持っている人がいれば教えてください。
私が試したこと:
私はまだコードを試していません。
var dt1 = dateTimePicker2.Value; var dt2 = dt1.AddDays(int.Parse(textBox1.Text)); dateTimePicker1.Value = dt2;
まず、物事の Text プロパティの使用をやめ、より「自然な」値を使用してください。
DateTimePicker には Value プロパティがあります値プロパティ[^] 選択した日付を DateTime オブジェクトとして返します。 それを使用すると、それを使って数学を行うことができます。 テキストボックスが2つある場合 txtDaysForward
および txtResult の場合、前者を整数値に変換し、それを DateTimePicker.Value に追加する必要があります。
まず、ユーザーが入力した文字列を整数に変換します。
if (!int.TryParse(txtDaysForward.Text, out int daysForward)) { ... report a problem to the user - that's not a number ... return; }
次に、結果を設定できます。
DateTime start = MyDateTimePicker.Value; txtResult.Text = $"{start} + {daysForward} = {start.AddDays(daysForward)}";
または、2 番目の DateTimePicker を結果の日付に設定します。
DateTime start = MyDateTimePicker.Value; ResultDateTimePicker.Value = start.AddDays(daysForward);
試してみてください。私の言いたいことがわかるでしょう。
このコンテンツは、関連するソース コードとファイルとともに、 コード プロジェクト オープン ライセンス (CPOL)
[ad_2]
Source link
4時間10分前