我正在开发一个C#桌面应用程序。我希望我的所有打开的窗口每隔5分钟弹出一次( Alt + Tab )。我在这里看了几个问题。他们建议使用计时器来实现,但是如何弹出最小化的窗口?
答案 0 :(得分:2)
这是一个非常基本的例子供您使用。
首先创建计时器。
创建一个在计时器滴答时运行的函数。
然后添加一个事件以在每次滴答时运行。并将其链接到您的功能
在该功能内检查是否已有5分钟。如果是这样,最大化 窗口
public partial class TimerForm : Form
{
Timer timer = new Timer();
Label label = new Label();
public TimerForm ()
{
InitializeComponent();
timer.Tick += new EventHandler(timer_Tick); // Everytime timer ticks, timer_Tick will be called
timer.Interval = (1000) * (1); // Timer will tick evert second
timer.Enabled = true; // Enable the timer
timer.Start(); // Start the timer
}
void timer_Tick(object sender, EventArgs e)
{
// HERE you check if five minutes have passed or whatever you like!
// Then you do this on your window.
this.WindowState = FormWindowState.Maximized;
}
}
答案 1 :(得分:0)
这是完整的解决方案
public partial class Form1 : Form
{
int formCount = 0;
int X = 10;
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
public Form1()
{
InitializeComponent();
timer.Tick += new EventHandler(timer_Tick); // Everytime timer ticks, timer_Tick will be called
timer.Interval = (1000) * X; // Timer will tick evert second
timer.Enabled = true; // Enable the timer
timer.Start();
}
void timer_Tick(object sender, EventArgs e)
{
FormCollection fc = new FormCollection();
fc = Application.OpenForms;
foreach (Form Z in fc)
{
X = X + 5;
formCount++;
if (formCount == fc.Count)
X = 5;
Z.TopMost = true;
Z.WindowState = FormWindowState.Normal;
System.Threading.Thread.Sleep(5000);
}
}
}