热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

类似QQ登陆的过度页面

1、还是先上图                          2、其实动来动去的滚动条就是Gif图片,而在.net cf 中播放Gif动画似乎有点麻烦,祥见微软的例

1、还是先上图

                        

2、其实动来动去的滚动条就是Gif图片,而在.net cf 中播放Gif动画似乎有点麻烦,祥见微软的例子。(.NET Compact Framework-based Animation Control Sample)找不到的可以跟我要。

而还有一种更简单的办法那就应用WebBrowser播放Gif,我们知道WebBrowser是支持HTML格式的,所以这个办法也是可行的(这里要谢谢冯峰 -Appleseeker,因为之前我做WebBrowser内容定位的时候是他告诉我WebBrowser读取HTML文件这个办法的),而需要注意的是我们还得用用上Panel,让WebBrowser的高度比Panel的高,这样就可以避免了首次加载时的WebBrowser的加载标志了,然后再把要播放的内容放到一个Html文件中。上下两个闪屏的效果,只要创建两个线程执行就可以了,上面的闪屏文字可以根据你登陆的事件去变换,下面的我是让它不断循环执行的。

类似这样的登陆过度界面,唯一的难题就是在取消登陆和当验证不通过时让程序自动返回登陆页面,这个问题花了我很多的时间,点击按钮取消登陆的比较好解决,不过线程不能终止,我只能是通过变量去判断程序是否需要跳出,所以当点击取消登陆时会有一点延迟线程才被取消,而想让验证不通过提示后直接返回登陆界面时,要用到页面对象传递,其实就是把过度页面当成主界面,登陆界面是Show()出来的,可以这样做的原因是因为登陆界面的事件要嘛登陆返回过度页面,要嘛退出整个应用程序。对于线程终止这方面的知识还是不够,现在也有时间可以好好看看了。

3.上些参考代码

 

ContractedBlock.gifExpandedBlockStart.gifCode
ExpandedBlockStart.gifContractedBlock.gif        string[] messages = "手机拍了照片录制了视频,可以跟大家一起分享,试试文件传输功能。""您可以通过录音机快速传达语音信息。""选择发送邮件,直接拨打电话、发送短信等实用小功能。""发送邮件的同时,内容可以同时发送短信。""***********""**************};
        private string GetBottomMessage()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
string m_stranswer;
            m_stranswer 
= messages[m_value];
            m_value
++;
            
return m_stranswer;
        }

        
private void OverPage_Load(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            webBrowserScroll.Url 
= new Uri(@"file://" + Bussiness.Global.ApplicationDirectory + "Over.htm");
            UserLogin();
            ShowMessage();
        }

        
private void UserLogin()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            ThreadPool.QueueUserWorkItem(
new WaitCallback(UserLogin));
        }

        
private void ShowMessage()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            ThreadPool.QueueUserWorkItem(
new WaitCallback(GetBottomMessage));
        }

        
private void GetBottomMessage(object o)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
while (m_value < messages.Length)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
{
                LabelBottemMessage.Invoke(
new UpdateStateBottomDelegate(UpdateBomState), GetBottomMessage());
                
if (IsCancel || IsCreateConnectionValue &#61;&#61; 1)
                    
return;
                Thread.Sleep(
3000);
                
if (IsCancel || IsCreateConnectionValue &#61;&#61; 1)
                    
return;
                
if (m_value &#61;&#61; (messages.Length - 1))
                    m_value 
&#61; 0;
            }

        }

 

最近的项目差不多进入尾声,这期间增加了很多的新的实用的功能&#xff0c;期间遇到了很多的问题&#xff0c;幸好一个个都解决了。现在公司移动开发的项目会包装成产品发布&#xff08;e讯---满好听的名字&#xff09;&#xff0c;很期待开发的东西能够让更多的人用上^_^。

转:https://www.cnblogs.com/datong/archive/2008/12/13/1354203.html




推荐阅读
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在使用USB接口的二维条码扫描器时,发现其无法正确识别条码中的中文字符。然而,采用串口连接的方式则能够成功识别。目前面临的问题是如何将通过串口获取的数据在网页中进行实时展示,希望各位专家能提供解决方案,不胜感激。 ... [详细]
  • 该问题可能由守护进程配置不当引起,例如未识别的JVM选项或内存分配不足。建议检查并调整JVM参数,确保为对象堆预留足够的内存空间(至少1572864KB)。此外,还可以优化应用程序的内存使用,减少不必要的内存消耗。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 在腾讯云服务器上部署Nginx的详细指南中,首先需要确保安装必要的依赖包。如果这些依赖包已安装,可直接跳过此步骤。具体命令包括 `yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel`。接下来,本文将详细介绍如何下载、编译和配置Nginx,以确保其在腾讯云服务器上顺利运行。此外,还将提供一些优化建议,帮助用户提升Nginx的性能和安全性。 ... [详细]
  • SQLite数据库CRUD操作实例分析与应用
    本文通过分析和实例演示了SQLite数据库中的CRUD(创建、读取、更新和删除)操作,详细介绍了如何在Java环境中使用Person实体类进行数据库操作。文章首先阐述了SQLite数据库的基本概念及其在移动应用开发中的重要性,然后通过具体的代码示例,逐步展示了如何实现对Person实体类的增删改查功能。此外,还讨论了常见错误及其解决方法,为开发者提供了实用的参考和指导。 ... [详细]
  • 设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
    设计实战 | 10个Kotlin项目深度解析:首页模块开发详解 ... [详细]
  • 1. 设置用户密码:使用 `slappasswd` 工具生成加密密码,确保账户安全。具体步骤如下:输入命令 `slappasswd -s NewPassword`,系统将提示重新输入新密码,并生成加密后的哈希值 {SSHA}xxxxxxxxxxxxxxxxx。2. 编写配置文件:编辑 `vildapus` 配置文件,添加必要的用户账户信息,以确保新用户能够顺利登录系统。 ... [详细]
author-avatar
无敌小志哥_443
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有