检查年龄是否<;18日期选择器wpf
本文关键字:日期 选择器 wpf lt 是否 检查 | 更新日期: 2023-09-27 17:59:06
我正在制作一个用户必须超过18岁的应用程序。如果他/她不满18岁,则会出现一个messageBox
,上面写着"未成年"。我使用datePicker
来选择用户D.O.B.我的问题是我不完全确定如何编写代码,但我通过查看教程进行了尝试,但所有的教程似乎都是dateTimePickers
。
我的代码如下:
xaml
<DatePicker HorizontalAlignment="Center" Name="dpkDOB" Grid.Column="1" VerticalAlignment="Top" Grid.Row="1" />
xaml.cs
int age = DateTime.Today.Year - tbkDOB.Value.Year;
if (age < 18)
{
MessageBox.Show("Under age");
}
我在visualstudio中进行了测试。请找到以下工作代码:
XAML:
<DatePicker HorizontalAlignment="Center" Name="dpkDOB" Grid.Column="1"
VerticalAlignment="Top" Grid.Row="1"
SelectedDateChanged="dpkDOB_SelectedDateChanged"/>
XAML.cs:
public MainWindow()
{
InitializeComponent();
}
private void dpkDOB_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
var ageInYears = GetDifferenceInYears(dpkDOB.SelectedDate.Value, DateTime.Today);
if (ageInYears < 18)
{
MessageBox.Show("Under age");
}
}
int GetDifferenceInYears(DateTime startDate, DateTime endDate)
{
return (endDate.Year - startDate.Year - 1) +
(((endDate.Month > startDate.Month) ||
((endDate.Month == startDate.Month) && (endDate.Day >= startDate.Day))) ? 1 : 0);
}