フォームにいくつかの異なるコントロール (TextBoxes、DateTimePickers、MaskedTextBoxes) があり、それらにデータが含まれているかどうかを確認したいと考えています。「保存」ボタンのクリックイベントに次のコードがあります。
private void radBtnSave_Click(object sender, EventArgs e)
{
this.Cancelled = false;
bool bValid = true;
foreach(Control control in this.Controls)
{
if (control.Tag == "Required")
{
if (control.Text == "" || control.Text == null)
{
errorProvider.SetError(control, "* Required Field");
bValid = false;
}
else
{
errorProvider.SetError(control, "");
}
}
}
if (bValid == true)
{
bool bSaved = A133.SaveData();
if (bSaved != true)
{
MessageBox.Show("Error saving record");
}
else
{
MessageBox.Show("Data saved successfully!");
}
}
}
これは、TextBoxes と MaskedEditBoxes では正常に機能しますが、DateTimePicker では機能しません。それらについては、.Value プロパティを確認する必要があることはわかっていますが、Control オブジェクトからアクセスできないようです (つまり、"control.Value == "" || control.Value == null")。
明らかな何かが欠けていますか?DateTimePicker の値を確認できるようにする (または単にコードを改善する) ために、このコードに加えることができる変更の提案は、非常に高く評価されます。