当截止日期以wpf进入时弹出警报框

时间:2013-08-26 13:30:46

标签: wpf alertdialog

在我的wpf应用程序中,我有一个事件的startDate和endDate,我想实现一个弹出警报框,以便在endDate到来时自动显示警告消息(比如endDate前5天)。在屏幕截图中,当我单击 ClientDeadlines (我的wpf中的ItemTab标题)时,会出现警告框。我该如何实现这个功能?任何样品都很欣赏。在此先感谢。enter image description here

2 个答案:

答案 0 :(得分:1)

然后,您可以使用简单的计时器运行计划检查,以查看是否需要弹出警报。

private void InitTimer()
{
    private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();

    timer.Interval = 60000; // Check each minute
    timer.Tick += (o,e) => CheckForDeadlines();
    timer.Start();
}

private void CheckForDeadlines()
{
  if((DateTime.Now-MyDeadline).TotalDays <= 5)
      MessageBox.Show("Alert alert! You have a deadline in 5 days");
}

答案 1 :(得分:1)

在WPF中,您可以在System.Windows.Threading中使用DispatcherTimer ..

    DispatcherTimer timer = new DispatcherTimer();
    DateTime myDeadLine = new DateTime();
    public void InitTimer()
    {
        // Checks every minute
        timer.Interval = new TimeSpan(0, 1, 0);
        timer.Tick += timer_Tick;
        timer.Start();
    }

    void timer_Tick(object sender, EventArgs e)
    {
        if ((myDeadLine - DateTime.Now).TotalDays <= 5)
            MessageBox.Show("Your Alert Message");
    }

编辑: 每当用户在TabControl中单击 SelectionChanged 事件的ClientDeadLines订阅时,您希望显示警报消息。

<TabControl SelectionChanged="TabControl_SelectionChanged_1" HorizontalAlignment="Left" Height="100" Margin="46,90,0,0" VerticalAlignment="Top" Width="397">
 <TabItem Name="Tab1" Header="Check1">
   <Grid Background="#FFE5E5E5"/>
 </TabItem>
 <TabItem Name="ClientDeadLines" Header="Check2" Height="23" VerticalAlignment="Bottom">
   <Grid Background="#FFE5E5E5"/>
 </TabItem>
</TabControl>

并使用此代码

 private void TabControl_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
    {
        if (e.Source is TabControl)
        {
            if (ClientDeadLines.IsSelected)
            {
                // Your code to check time
                int a = 0;
            }
        }
    }