Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共75 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8]
[浏览完整版]

标题:[杰哥的分享]狐表实现“加载中”效果的遮罩层/等待窗口方案。2行代码简单控制,支持圆角、无锯齿、透明窗体、自定义Logo、无内存泄露,样式简约,代码一抄即用 ,长时间执行的代码强烈推荐配合使用

1楼
chen37280600 发表于:2022/11/29 17:11:00

(快速浏览杰哥分享过的所有经验汇总,点击跳转


1简介
1.1效果图
长时间执行的代码,加个等待窗口,让用户等待,增加友好度,一般这在web领域叫遮罩层。不过狐表Exe的UI框架里并没有集成这个,只能自己变通实现试下。

此主题相关图片如下:1.png
按此在新窗口浏览图片

这个Loading不是挺优雅的吗?(我提供这个简约通用的样式,就是希望你们拿走就用。论坛里分享的总是奇形怪状的加载动画,我怎么拿去见客户啊...

此主题相关图片如下:loading.gif
按此在新窗口浏览图片

我还提供PSD素材,让你能自己增加个logo呢

此主题相关图片如下:1-221129163z6164.gif
按此在新窗口浏览图片


1.2遮罩层特色
  1. 代码简单,控制开关也简单。
  2. 支持圆角和透明窗体效果。
  3. 可以自定义加载中的gif动画,添加你的自己的logo,(需要你有PS功底)。
  4. 提供通用简约的GIF图,能用于任何项目场合,不搞怪异化。
  5. 弹出位置在屏幕中间+向上偏移150像素,这就不会挡住业务代码出错时的MessageBox窗口
  6. 无内存泄露【重要】。试过连续打开关闭500次,内存在10M内波动,不会无限增加,程序不崩。


此主题相关图片如下:3.png
按此在新窗口浏览图片


1.3感谢前人分享
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=152101&replyID=&skin=1
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=73365&replyID=&skin=1
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=174427&replyID=&skin=1

我综合比较了一下,最终选了第三个帖子去二次改造,感觉这个代码最少,好理解维护。不过它的方法存在一个严重缺陷
内存泄露严重,开循环200次打开直接程序崩了

此主题相关图片如下:4.png
按此在新窗口浏览图片

此主题相关图片如下:5.png
按此在新窗口浏览图片

其他是小问题:
  • 没有圆角
  • 没有半透明
  • 标题好丑
  • 代码有点乱
  • 等待窗口结束后,焦点会跳到其他程序(很烦人)

2教程
2.1放好图片素材
图片素材放到Images文件夹里,与待会全局代码的路径相匹配

此主题相关图片如下:1.png
按此在新窗口浏览图片

2.2添加全局代码

此主题相关图片如下:6.png
按此在新窗口浏览图片

代码如下:

以下内容只有回复后才可以浏览

2.3使用方法

此主题相关图片如下:7.png
按此在新窗口浏览图片

Try
    WaitShow() '显示等待窗口

    '模拟长耗时代码
    For i As Integer = 0 To 3000
        e.Form.Controls("TextBox1").Text = i
    Next    
Catch ex As Exception
    MessageBox.show(ex.Message)
Finally 
    WaitClose() '关闭等待窗口
End Try


2.4注意事项
  • 推荐配合Try使用,Finally里放WaitClose(),防止因为业务代码异常而导致遮罩层不关闭。
  • 当然如果你有把握,中间过程代码不会出错的,不用Try,直接使用也没问题。如果真的出现异常,你可以告诉客户在底部菜单栏右键强制关闭。它的关闭,并不会影响原来主线程在做的事情。

3自定义加载GIF动画
这个需要你有PS基础,我已经提供了我这次使用的gif图的原PSD文件。需要在PS里打开,并且启动PS的`时间轴`功能。你要去百度学习一下PS的时间轴玩法和GIF保存方法
3.1添加自定义logo和背景
例如我加一个迈宝伦科技官网的logo去中间

此主题相关图片如下:8.png
按此在新窗口浏览图片


此主题相关图片如下:1.png
按此在新窗口浏览图片


成品效果:

此主题相关图片如下:1-221129163z6164.gif
按此在新窗口浏览图片

3.2透明背景和圆角
gif是支持透明背景的,圆角也支持,在PS做好即可。唯一要注意就是生成GIF图时,圆角要设置相应的`杂边`颜色,不然会有难看的`白色锯齿`


此主题相关图片如下:2.png
按此在新窗口浏览图片

以下是正确保存方法

此主题相关图片如下:3.png
按此在新窗口浏览图片


此主题相关图片如下:4.png
按此在新窗口浏览图片


3.3注意不要用某个绿色
在刚才的全局代码里有一个

...
waitForm.BackColor = Color.Green '绿色背景框
waitForm.TransparencyKey = Color.Green '针对绿色进行透明化,配合上面的绿色使用。因此也要求GIF图片不能有纯绿色RGB(0,128,0)
...

这个是狐表窗口实现边框透明的关键,设置绿色边框,并对绿色进行透明化。所以你如果GIF里刚好包含了RGB(0,128,0)的绿色,也会被抠图走,穿孔很丑了。
如果你的Gif图一定要用这种绿色,我推荐你可以换别的颜色组合,例如Color.Red。就跟好莱坞拍戏用绿幕,演员就别穿颜色相近的绿衣服一个道理。

4.案例源码下载


以下内容只有回复后才可以浏览
版本说明:程序需要20220818或以上的加密狗打开。如果你没有这个版本也没关系,可以下载源码,只要里面的GIF素材PS素材,配合上面分享的代码,复制就能用,不一定非得开源码看。

=====================================================================
杰哥免费分享的Exe系统

[杰哥的免费分享]E1迷你库存管理系统,Access局域网多人Exe程序。除了分享代码,本次重点是:我要用实战案例教大家如何设计一个美观的狐表软件,教你设计理念,做好产品经理

杰哥免费分享的web系统

[杰哥的免费分享]A1迷你库存管理系统,网页版的纯库存管理,实现简单的多人协助出入库,库存统计,权限管理

[杰哥的免费分享]A2迷你产品报价系统,网页版的带图Excel报价单快速生成工具,外贸企业特别常用

[杰哥的免费分享]OA行政管理系统,网页版的OA审批工作流,开放式流程,包含固定资产管理、文具申领库存、报销申请、用印盖章申请、请假申请等常见行政模块

[杰哥的免费分享]造价项目资料和提成管理系统,应用于造价行业,把过程资料归档,设置每个项目的成员提成,一键统计绩效

[杰哥的免费分享]迷你知识库系统,KindEditor富文本框的实战效果,绿色免安装、免管理员权限、免http服务、多人协同编辑,特别适合【网络管理严格的政府国企】

===============================================================
顺便总结以前分享过的帖子,方便大家学习

联系QQ:2385350359


经验分享:
























[此贴子已经被作者于2024/1/1 10:20:00编辑过]
2楼
linswcfr 发表于:2022/11/29 17:26:00
谢谢分享
3楼
foxtablefanse 发表于:2022/11/29 17:32:00
沙发
4楼
lindong 发表于:2022/11/29 17:54:00
讲得很详细,点赞
5楼
wudishaoshuai 发表于:2022/11/29 17:59:00
看看

6楼
qq51837000 发表于:2022/11/29 19:16:00
7楼
肥肥记 发表于:2022/11/29 19:47:00
图片点击可在新窗口打开查看
8楼
lshshlxsh 发表于:2022/11/29 20:10:00
图片点击可在新窗口打开查看
9楼
newsun2k 发表于:2022/11/29 20:31:00
谢谢分享
10楼
playmal 发表于:2022/11/29 20:56:00
你好
共75 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 3 queries.