我希望写个服务,这个服务去找数据库,看记录更新没得,如果更新了,则弹出一个消息提示。
这个提示框必须在最前面,意思就是说不管用户在干嘛,都能看见这个提示框。请问应该怎么实现,请高手支持下,谢谢。

解决方案 »

  1.   

    MessageBox?或者自己写一个窗体,使其TopMost=True
    不知道服务是否可以这样做
      

  2.   

    Form f =new Form();
    f.ShowDialog();
      

  3.   

    这个才是正确的答案, windows98以后的服务进程 是无法与桌面操作互交的. 这个是不安全的.服务进程弹窗这个就别想了.
      

  4.   

    在WinForm中嵌入一个服务,并且在服务中设定一个SynchronizationContext(引用名字空间System.Threading)静态变量,然后把Form中同步上下文(SynchronizationContext.Current)赋给服务中的静态变量,在服务中可以通过静态变量的Post方法把需操作的内容提交给winform。形如下面的代码:
    public static SynchronizationContext SynContext { get; set; }
    SynContext.Post(delegate
                {
                    TheForm = new Form2();
                    TheForm.ShowDialog();
                }, null);当然也可以通过服务进程运行另外一个提醒程序。