我有一个在VB.NET中创建的表单我在该表单上填充字段并在For Each...Next
循环中向用户显示。
它基本上有一个PictureBox
,就像一个关闭按钮 - 我正在捕获click事件以关闭表单。
但是我现在想让用户选择能够点击虚拟关闭按钮,并保持表格关闭2分钟(即暂停执行2分钟。因为如果用户点击中间的话,该怎么办?循环?)...然后一旦2分钟结束,我希望表格显示下一次数据迭代。
这可能吗?
我正在发布我的程序的一些示例代码:
For intI As Integer = 0 To dvNotifications.Count - 1
//Just population some normal fields here...
Dim CustomNotification As New CustomNotification
CustomNotification.lblSubject.Text = IIf(strSubject = String.Empty, "[No Subject]", strSubject)
CustomNotification.ShowDialog() 'Just before the next iteration I show the form...
Next
答案 0 :(得分:0)
这里你如何使用计时器(用c#编写,因为你的原始标签是c#)
class FormController
{
private Timer _timer = new Timer();
private MyForm _form;
private void StartForm()
{
if (_form == null)
_form = new MyForm(_timer);
f.Show();
}
private void OnTimerElapsed()
{
_timer.Stop();
StartForm();
}
}
// Your form shows and does something like this
// In your form
class MyForm
{
private Timer _timer;
private void OnFormClosing(object sender, CancelEventArgs e)
{
_timer.Interval = 120000; //ms
_timer.Start();
}
}
当然,您需要连接所有事件等等。但这应该让您知道它是如何工作的。
此代码表格将被关闭[销毁/处理],每次都会创建新的代码。如果您想保留同一个实例,请使用表单Show/Hide
,然后OnFormClosing
上的代码将显示在OnVisibileChanged
上