【发布时间】:2016-12-02 17:05:59
【问题描述】:
我正在制作一个用户必须超过 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");
}
【问题讨论】:
-
您目前看到的结果是什么?
tbkDOB指的是什么? -
尝试添加全年而不是 18 年,例如 1997 年
-
你的意思是
dpkDOB而不是tbkDOB -
是的,我的意思是
dpkDOB -
您还需要检查日期和月份 - 如果生日在当年晚些时候,则此人可能是 17 岁。最好的选择是从今天的日期减去 18 年并比较两个日期。在此处查看日期和时间功能:msdn.microsoft.com/en-us/library/…