CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#winform窗体已经显示,但看不见的问题

楼主SeptemberSun(九月的阳光)2006-06-02 10:32:32 在 .NET技术 / C# 提问

在程序登录后主窗口还没打开之前我想显示一个loading...窗口,上面放一个动画图片  
  一开始我将一个静态图片放到loading窗口的背景,窗口能正常显示,  
  后来为增加效果要放置动画图片,但窗口的背景不支持动画,于是添加了一个picturebox控件,  
  将.gif动画加载到picturebox中,可这时调试时loading窗口已经打开了,但picturebox部分成了透明的,程序启动的部分代码如下:  
  Login   fl   =   new   Login();  
  if   (fl.ShowDialog()   ==   DialogResult.Cancel)  
  {  
  spFlash   flash   =   new   spFlash();  
  flash.Show();  
   
  //其他代码处理.........................................  
  //其他代码处理.........................................  
   
  flash.Close();  
   
  Application.Run(new   PersonMain());  
   
  }  
  但我在主窗口中的某个菜单中打开spFlash窗口,效果一切正常,如果我将上面代码中的flash.Show();改为flash.ShowDialog();窗口就能显示正常了,但这样就不能自动关闭了,各位高手给个解决办法把!顺便说一下原因。 问题点数:20、回复次数:5Top

1 楼kssys()回复于 2006-06-02 10:37:12 得分 0

你的窗口并非没有显示,而是被其它窗口挡住了。  
  flash.Show();  
  flash.BrindToFront();Top

2 楼SeptemberSun(九月的阳光)回复于 2006-06-02 10:49:07 得分 0

我将上面部分代码作如下修改  
  spFlash   flash   =   new   spFlash();  
  flash.Show();  
  flash.Refresh();  
  窗口中picutrebox部分能看见了,但图片成了静止的不动了,加了flash.BrindToFront();也不管用。Top

3 楼bhwhy(苏秦)回复于 2006-06-02 10:53:52 得分 0

具体搞不清楚.hide好了.Top

4 楼SeptemberSun(九月的阳光)回复于 2006-06-02 13:42:05 得分 0

后来,我们部门的头说用一个线程打开loading窗口,但明明执行到窗口打开的方法了,可就是看不见窗口,  
   
  namespace   IEWinFom  
  {  
  ///   <summary>  
  ///   Class1   的摘要说明。  
  ///   </summary>  
  public   class   Class1  
  {  
  public   void   OpenSplash()  
  {  
  spFlash   flash   =   new   spFlash();  
  flash.Show();  
  flash.Refresh();  
  }  
  }  
  }  
   
  Login   fl   =   new   Login();  
  if   (fl.ShowDialog()   ==   DialogResult.Cancel)  
  {  
            Class1   class1   =   new   Class1();  
            Thread   thread   =   new   Thread(new   ThreadStart(class1.OpenSplash));  
            System.Threading.ThreadState   ts   =   thread.ThreadState;  
            thread.Start();  
  //其他代码处理.........................................  
  //其他代码处理.........................................  
   
  flash.Close();  
   
  Application.Run(new   PersonMain());  
   
  }  
  有的同事说线程Start后就随着结束了,根本来不及看到打开的窗口就给关闭了,如果这样,那我怎样不让线程马上结束呢?Top

5 楼Knight94(愚翁)回复于 2006-06-02 13:45:40 得分 0

参看  
  http://blog.csdn.net/knight94/archive/2006/05/27/757351.aspx  
  这篇文章中的窗体控制方法。Top

相关问题

关键词

得分解答快速导航

  • 帖主:SeptemberSun

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo