.NET调用API实现右下角定时弹窗

_Sier 2014-12-25 10:17:14
要实现的功能很简单

思路:.NET调用API实现右下角定时弹窗,上面有个关闭按钮,用户可以自己关闭,若用户没有关闭,则过一段时间后,自己关闭;下次弹窗的时候,给窗体控件重新赋值,再弹窗,如此循环往复

现在我遇到的问题:
弹窗的时候,窗体是阻塞的,用户无法操作窗体,我不知道这么弄,现在正处于摸索阶段,希望大家能够帮一下我- -

控制整体流程的代码如下:

DateTime dtstart = DateTime.Now;
DateTime dtend = DateTime.Now;
public int TimeInterval = 5000;//10秒
public void Main()
{
int i = 0;
while (IsWork)
{
bool r = (dtend - DateTime.Now).TotalSeconds < 0;
if (r)
{//时间到了,就执行一次刷新页面,弹出一次
CloseMainForm();//若窗体存在,则hide
/*
* 此处给窗体的控件赋值
*/
this.Invoke(new Action(() =>
{
this.Activate();
AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
//Thread.Sleep(2000);
/*
* 此处定时隐藏窗体
*/
this.Hide();
}));
dtend = DateTime.Now.AddMilliseconds(TimeInterval);
}
}
}
...全文
170 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2014-12-25
  • 打赏
  • 举报
回复
Form.Show而不是ShowDialog就不会阻塞。 也可以用线程定时器
_Sier 2014-12-25
  • 打赏
  • 举报
回复
我应该把他放到线程里面。。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧