winform的程序
主程序画面设置为topmost=true了
现在调用WebBrowser.Navigate去连接web服务器下载文件
现在的问题是由于画面被设成topmost,结果导致下载框显示在画面背后,看不到。。
请教各位有什么好办法解决么?

解决方案 »

  1.   

    好像没啥好方法,只能把下载框也设置为topmost了
      

  2.   

    WebBrowser.Navigate 也设置为 Topmost = true;
      

  3.   

    查了一下MSDN,似乎 WebBrowser 没有 TopMost 属性,这就麻烦了。
      

  4.   

    使用SetWindowPos把下载框置顶
      

  5.   

    似乎要考虑用 API 把下载窗口的 TopMost 设为 true 了。
      

  6.   

    试试 Control.SetTopLevel(true);
      

  7.   

    我试了一下,把 WebBrowser 放在一个 Form 容器里(Form.TopMost = true)就没问题。
    using System;
    using System.Windows.Forms;class Program : Form
    {
      [STAThread]
      static void Main()
      {
        Application.Run(new Program());
      }
      
      Program()
      {
        TopMost      = true;
        WebBrowser w = new WebBrowser();
        w.Parent     = this;
        w.Dock       = DockStyle.Fill;
        w.Navigate("http://www.csdn.net");
      } 
    }
      

  8.   

    using System;
    using System.Windows.Forms;class MyDialog : Form
    {
      public MyDialog()
      {
        Text         = "MyDialog";
        WebBrowser w = new WebBrowser();
        w.Parent     = this;
        w.Dock       = DockStyle.Fill;
        w.Navigate("http://www.csdn.net");
      } 
    }class Demo : Form
    {
      Demo()
      {
        Text    = "Main Form";
        TopMost = true;
      }
      
      protected override void OnShown(EventArgs e)
      {
        MyDialog dialog = new MyDialog();
        dialog.TopMost  = true;
        dialog.ShowDialog();
      }
      
      [STAThread]
      static void Main()
      {
        Application.Run(new Demo());
      }
    }
      

  9.   

    to wuyi8808
    这方法不错,就是MyDialog这个窗口什么时候关?能不能自动关闭?
      

  10.   

    文件下载似乎是独立的
    form关早了,下载框就出不来了。
    好像也找不到下载完成的事件来触发form的关闭操作。