窗体间通信比较困难,用Panel呢?先用Panel盖上,数据加载完了,Panel.Visiable设置成false。

解决方案 »

  1.   

    让显示的小窗口的Owner设置为大窗口,使用Show来显示,显示之后调用大窗口的Enable=False,待处理完成再改成Enable
    =True,这样处理就可以了。窗口的Enable设置为False后,只是用户不能点击操作,但是代码是可以运行的。
      

  2.   

    设置 小窗口的 TopMost为true
      

  3.   

    设置topMost不好,用Show(this)吧,其实1楼的办法挺好
      

  4.   

    这个窗体要挡在主窗体前面,等主窗体数据加完成后,前面的窗体自动退出,
    类似于ShouDialog() ,但是ShowDialog后,程序就不会往下执行了
    也行多线程方式做,但是ShowDialog的父窗体和主窗体不在同一个线程中,和使用Show()的效果一样。
    用异步的方式,也是如此。(异步应该可以的,我用不好!)
      

  5.   

    那就设置 小窗口的 TopMost为true
    然后把它放到另一个线程里去
      

  6.   

    小窗口 设置为TopMost为True 的话,其实后面的窗体还是可以点击的,因为小窗体并不是一直处于激活状态。主窗体上加载数据是用多线程往ListView中写数据的,当用户频繁切换菜单时,程序关闭线程时,有时会报错(线程正在终止)所以想在前面搞个窗体挡住 当程序在加载数据是,不让用户点击后面的按钮切换