winform界面怎么添加个加载中效果。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform界面怎么添加个加载中效果。相关的知识,希望对你有一定的参考价值。
参考技术A 这样用户体验很不好啊。我想到的解决办法就是再打开前加一个页面加载中,当上述事情完成后再显示。。。
------解决方案--------------------------------------------------------
把加载做在后台线程中, 等加载完了通知picturebox, 可以考虑从内存直接给picturebox提供图像, 内存操作比文件操作快很多.
------解决方案--------------------------------------------------------
说的有些烦索,
总之,picturebox加载图片可以先加载一个缩略图,质量差但速度快。
URL加载装态有个百分比例,获取那个值就可以了,100%就是加载完了。
------解决方案--------------------------------------------------------
Thread 多线程,或者线程池,
System.Threading.ThreadPool.QueueUserWorkItem
再加上事件,和form.invoke 就能实现你的要求了.
用户体验会妙不可言,不过要控制好了.
简单的就是主线程创建主窗体和等待窗体,辅助线程初始化数据,
辅助线程完工以后通知主线程(界面操作用form.invoke,否则出错).
------解决方案--------------------------------------------------------
看看有没有相关的属性,内存操作可能可以,是用MemoryStream
------解决方案--------------------------------------------------------
以前做的时候直接放一个gif文件,不过不显示进度;等加载完成后隐藏gif文件。本回答被提问者采纳
在c#winform中如何做出导航菜单,其效果如下图:
急急急。。。。。求大神指点欢迎加载界面、登陆界面与主界面之间的转换,再加上欢迎加载界面的设计
自己画,再拖个timer,让他做出动画效果,无非4个按钮一个panle,pictureBox+lable。
你也可以不做成控件,直接窗体上画,简单得另人发指,拖一个Panle,N个按钮,N个子Panle,单击按钮,其他按钮名称写成变量,或者直接画按钮:
也可以直观理解为,先放好最下面一个按钮,上面的相隔按钮高度跌加
button10.Top = 最底下一个按钮高度;button9.Top = button10.Top - button9.Height;
... //紧挨着排列按钮
子panle在按钮事件中触发显示、隐藏。当点按钮的时候显示为他设计的panle,定位在他正下方,容纳在空白区域,可以理解为:
panle1.visible=true; //显示子菜单panle2.visible=false;
...
panle1.top=button1.top+button1.height; //高度为button1之下
panle1.width=button1.width; //宽度和button1齐平
panle1.left=button1.left; //左边距跟button1对齐
panle1.height=button2.top-button1.top //高度在button1和下一个按钮button2之间
这种说法理解吗?,再逼近一点我们的做法,把按钮、Panle方法写成类:
private void ReSize<T>(string name, int H, int W, int L, int TO) where T : ControlT bu = (T)Controls[n];
bu.Top = TO * this.Height / kuan;
bu.Left = L * this.Width / chang;
bu.Width = W * this.Width / chang;
bu.Height = H * this.Height / kuan; //按照软件长宽比例缩放
private void AddControl<T>(string name, int Height, int Width, int Left, int Top) where T : Control
T bu = (T)Controls[name];
bu.Top = Top
bu.Left = Left;
bu.Width = Width;
bu.Height = Height; //调整属性
上面是两个方法,一个是调整分辨率,一个是把控件作为变量处理,你会了吗?
参考技术A 你可以看看 easy_ui的导航就和这个差不多追问不知道耶,能详细点么
追答你说的是winform 我以为你说asp。这个用wpf可能能做,
参考技术B 自己用图片加一些位置计算的算法,处理一些事件,还是可以做出来的追问我也知道要加位置计算法,那该如何做呢?能够详细点么。。。
追答最近工作很忙,都没有登录上来看,你这个效果做出来了没
参考技术C 这个是第三方控件!C#的不带!追问我知道啊,效果快出来了,只是没有这个好看。
参考技术D Dev GridControl貌似可以实现这种 估计要重写一点东西;这个东西有时间才能试试以上是关于winform界面怎么添加个加载中效果。的主要内容,如果未能解决你的问题,请参考以下文章
winform的页面怎么判断页面首次加载,在线等待!谢谢了!