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