我在编程C#方面有点新意。我想知道我的wpf是否有办法运行,因为我想让它运行。
我正在为桌面应用程序创建计时器。我想要做的是,如果它达到5分钟,编辑按钮将被禁用,剩下的按钮仅用于保存。
例如,当我在桌面上打开微软word应用程序时,我只有5分钟的时间来访问它,如果我达到时间限制,我只能保存它,其他按钮将被禁用。
这是我的代码片段。
//-----------------------------------------------------------------------------------------------------
ticker.DispatcherTimerInstance.Tick += (ev, EV) =>
{
TimeCount.Text = ticker.currentResult.ToString();
};
dp.AddValueChanged(TimeCount, (object a, EventArgs b) =>
{
if (TimeCount.Text == "00:00:10")
{
dt_TimeStart_PW.Stop();
}
if (TimeCount.Text == "00:00:10")
{
win2.ShowDialog();
}
if (TimeCount.Text == "00:05:00")
{
win3.ShowDialog();
//the buttons on the app should be disabled except for save and close
}
});
dt_TimeStart_PW = new DispatcherTimer();
dt_TimeStart_PW.Start();
dt_TimeStart_TC = new DispatcherTimer();
dt_TimeStart_TC.Start();
dt_TimeStart_PW.Tick += (a, b) =>
{
GetTaskNameWindows("Please wait...");
//GetTaskNameWindows("Task Completed");
};
dt_TimeStart_TC.Tick += (a, b) =>
{
GetTaskNameWindows("Task Completed");
};
谢谢。我希望你能帮助我。
答案 0 :(得分:0)
只需使用此代码buttonName.IsEnabled=False;
即可在达到5分钟时禁用该按钮。此处按钮名称是按钮的名称,您可以在满足条件时根据需要禁用按钮
答案 1 :(得分:0)
您应该考虑使用Microsoft的Reactive Framework(NuGet“System.Reactive”)来帮助解决这个问题。
然后你可以这样做:
var subscription =
Observable
.Timer(TimeSpan.FromMinutes(5.0))
.ObserveOnDispatcher()
.Subscribe(_ => button.IsEnabled = false);
这就是你需要的全部代码。
如果您想在5分钟之前停止计时器,请执行subscription.Dispose();
。