C#中载入界面的常用方法

本文实例讲述了C#中载入界面的常用方法。分享给大家供大家参考。具体方法分析如下:

方法1.采用事件委托的方法 
对象:主窗体:FrmMain 加载窗体:FrmLoading 
思路: 
在主窗体加载前显示窗体FrmLoading,当主窗体加载完毕后(第一次显示的时候),关闭FrmLoading

C#代码如下所示:

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace CDemoTest
{
    public partial class FrmMain : Form
    {
        private FrmLoading loadForm;
        public FrmMain()
        {
            //创建加载窗体             loadForm = new FrmLoading();
            //指定窗体加载完毕时的事件
            this.Shown += FrmLoading_Close;

loadForm.Show();
            //主窗体初始化方法
            InitializeComponent();
        }

//声明关闭加载窗体方法
        private void FrmLoading_Close(object sender, EventArgs e)
        {
            loadForm.Close();
        }

private void FrmMain_Load(object sender, EventArgs e)
        {
            Thread.Sleep(3000);
        }
    }
}

方法2.
① 在Main方法中,先显示启动画面,注意使用Show而非ShowDialog。
② 然后按照正常的方式,Application.Run(mainForm);
③ 在mainForm的构造函数中,启动加载线程。
④ mainForm中设置一个标志,如果加载完成,该标志设置为某值。
⑤ 作为启动画面使用的form,注意检测mainForm中的标志,如果主窗体加载完成,它自己关闭。

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C#中使用IrisSkin2.dll美化WinForm程序界面的方法

    一.添加控件IrisSkin2.dll.方法:        1.右键"工具箱"."添加选项卡",取名"皮肤".        2.右键"皮肤","选择项"弹出对话框        3.点击"浏览",找到IrisSkin2.dll,,next,next,确定.        4.在皮肤里会出现.        5.把SkinEngine拖到设计界面,会出现在下面. 二,把皮肤文件中以ss

  • C#多线程与跨线程访问界面控件的方法

    本文实例讲述了C#多线程与跨线程访问界面控件的方法.分享给大家供大家参考.具体分析如下: 在编写WinForm访问WebService时,常会遇到因为网络延迟造成界面卡死的现象.启用新线程去访问WebService是一个可行的方法. 典型的,有下面的启动新线程示例: 复制代码 代码如下: private void LoadRemoteAppVersion()  {      if (FileName.Text.Trim() == "") return;      StatusLabel

  • 使用C#语言实现的查询条件界面展开和收起功能

    先简单说一下应用场景,现有一个C#客户端的查询界面,上方放置查询条件,下方放置查询结果.因为实际情况中查询条件可能占了好几行的位置,所以希望在界面上默认只保留一行最主要的查询条件,并在右侧有一个"展开/收起"功能. 收起时界面: 展开时界面: 最开始我的实现方式是这样的,在界面上放置一个LinkLabel,设置此LinkLabel的鼠标单击事件,调整查询条件所在Panel的Height属性. C#代码如下: using System; using System.Collections.

  • C#实现简单的登录界面

    首先我们来看一个简单的制作过程 打开visual 2010,新建窗体,既然是登录窗口,那么就不让它出现最大化.最小化以及拖拉大小功能(上一节已经提到过怎么设置大小),如图所示,甚至窗体的Text属性值为"登录窗口",大小随意. 创建窗体之后就开始界面详细的组件布局了,主要是在左边拖拉控件,然后放到窗体中去,定义属性值.这些都比较简单. 到了代码响应阶段,双击登录按钮,进入代码视图: private void button1_Click(object sender, EventArgs

  • C#中载入界面的常用方法

    本文实例讲述了C#中载入界面的常用方法.分享给大家供大家参考.具体方法分析如下: 方法1.采用事件委托的方法  对象:主窗体:FrmMain 加载窗体:FrmLoading  思路:  在主窗体加载前显示窗体FrmLoading,当主窗体加载完毕后(第一次显示的时候),关闭FrmLoading C#代码如下所示: 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; usin

  • android开发教程之子线程中更新界面

    每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联.Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器.2)线程间通信.在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息.当你创建子线程时,你可以再你的子线程中拿到父线程中创建的Handler对象,就可以通过该对象向父线程的消息队列发送消息了.由于Android要求在UI线程中更新界面,因此,可以通过该方法在其它线程中更新界面.

  • javascript 中关于array的常用方法详解

    javascript 中关于array的常用方法 最近总结了一些关于array中的常用方法, 其中大部分的方法来自于<JavaScript框架设计>这本书, 如果有更好的方法,或者有关于string的别的常用的方法,希望大家不吝赐教. 第一部分 数组去重,总结了一些数组去重的方法,代码如下: /** * 去重操作,有序状态 * @param target * @returns {Array} */ function unique(target) { let result = []; loop:

  • Android中刷新界面的二种方法

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用. Android界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面. 利用Handler刷新界面 实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新:而在线程中通过sendMessag

  • 在layui tab控件中载入外部html页面的方法

    目前,潜入外部网页的方式,主要有3种: iframe方式 <div><iframe src="xxx.jsp"></iframe> ajax方式 <div id="externalHtml"></div> ajax加载数据后,直接赋予 externalHtml.innerHTML 即可. script脚本方式 <div><script src="xxx.js" type

  • 浅谈angularJS2中的界面跳转方法

    链接参数数组保存路由导航时所需的成分: 指向目标组件的那个路由的路径(path) 必备路由参数和可选路由参数,它们将进入该路由的URL 我们可以把RouterLink指令绑定到一个数组,就像这样: <a [routerLink]="['/heroes']">Heroes</a> 在指定路由参数时,我们写过一个双元素的数组,就像这样: this.router.navigate(['/hero', hero.id]); 我们可以在对象中提供可选的路由参数,就像这样:

  • Java中让界面内的时间及时更新示例代码

    我们经常在页面上显示时间,如果使用普通的时间日期设置方法,时间总是固定不变的.所以若要时间及时反馈当前计算机日期,我么可以通过多线程进行设计操作. 干货如下: 总结 到此这篇关于Java中让界面内的时间及时更新的文章就介绍到这了,更多相关Java界面内时间及时更新内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • 在Java中Collection的一些常用方法总结

    Java中Collection的常用方法 1.add() 向中添加元素 add(100) 自动装箱操作,实际上是放进去的一个对象, Integer n = new Integer(100),实际上是把n放进了 Collection co = new ArrayList(); co.add(1); 2.addAll( Collection c ) 将指定集合中的所有元素添加到从集合中 因为ArryList类中重写了equals() 方法,所以两个集合比较相等. public class lxc {

  • Python中安装库的常用方法介绍

    目录 方法一:需要在网络条件下安装 方法二:离线安装 方法三:换源安装 总结 方法一:需要在网络条件下安装 win+R进入运行框输入命令cmd 点击确定进入 普通下载:pip install 模块名字 例如:输入 pip install pygame pip install numpy pip install xlwt xlwt代表需要安装所需包和库等 列出安装版本:pip list 和pip freeze 卸载模块: pip uninstall xlwt Y--确定卸载,n--否 指定版本下载

  • C++中string类的常用方法实例总结

    目录 引言 C++string类常用方法 总结 引言 C++中提供了一种新的数据类型——字符串类型(string).实际上string并不是C++的基本类型,它是在C++标准库中声明的一个字符串类,用这种数据类型可以定义对象,每一个字符串变量都是string类的一个对象.标准库类型string表示可变长的字符序列,使用string类型必须首先包含它的头文件. 作为标准库的一部分,string定义在命名空间std中. [例] #include<string>//注意这里没有.h using na

随机推荐