当前位置:必发365电子游戏 > 操作系统 > 高级中学级空白显示,的三个前后相继
高级中学级空白显示,的三个前后相继
2019-12-19

福寿无疆效果与利益:
经过StatusStrip展现窗体状态栏
而且将状态栏分成三片段
居左边显示相关文字音信
中级空白展现
居左边展现时间新闻

新近在做四个等级次序,要求运用等待窗体,在DevExpress下边有SplashScreen控件能够使用,同一时候也会有ProgressIndicator控件能用,可是倘使未有用Dev开辟以来,我们就需求自定义贰个等候窗体了。

1.创办窗体及增多StatusStrip
  默认StatusStrip名称为statusStrip1

 

2.在statusStrip1的Items属性中
  添加八个StatusLabel
必发365电子游戏,  暗中同意名叫toolStripStatusLabel1,2,3
  按1,2,3的顺序排列

先是,把截图放上来:

3.修改toolStripStatusLabel1的Text属性
  为有关文字如"接待使用本系统"

必发365电子游戏 1

4.修改toolStripStatusLabel2的Text属性 为空
  Sprint属性为True
  BorderSides属性为Left,Right

落实的意义比较轻巧,正是在程序处理一些耗费时间超多的代码时,将Loading窗体展现给客户,并在后台举办履行。

5.修改toolStripStatusLabel3的Text属性 为空
  在Form的Load事件中 修改其出示为当下时刻
  this.toolStripStatusLabel3.Text = "登陆时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"卡塔尔(英语:State of Qatar);

 

6.倘诺要使状态栏时间新闻随操作系统当今天子不停的变动
  则足以经过扩展Timer控件来促成
  增加Timer控件 timer1
  编写其Tick事件为
  private void timer1_Tick(object sender, EventArgs e)
  {
      this.toolStripStatusLabel3.Text = "系统当下光阴:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"卡塔尔(قطر‎;
  }
 
高级中学级空白显示,的三个前后相继。  在Form的Load事件中 对timer1实行有关安装
  private void MainForm_Load(object sender, EventArgs e)
  {
    this.toolStripStatusLabel3.Text = "系统当下岁月:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"卡塔尔(英语:State of Qatar);
    this.timer1.Interval=1000;
    this.timer1.Start();
  }

其生机勃勃顺序,参谋了 网名称为 “八哥” 的一个前后相继,那时小编在群里面的时候,多谢他的热情扶持。

现将笔者的代码贴出来吧,里面用的了信托的定义。我们只要不懂的话,能够百度时而,这里给出多少个链接:

必发365电子游戏 2

LoadingControl.cs代码如下:

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 ControlToolsLibrary
{
    public partial class LoadingControl : Form
    {

        public delegate void mydelegate();
        public mydelegate eventMethod;
        private static LoadingControl pLoading = new LoadingControl();
        delegate void SetTextCallback(string title,string caption,string description);
        delegate void CloseFormCallback();
        public LoadingControl()
        {
            InitializeComponent();
            initLoadintForm();
            Thread t = new Thread(new ThreadStart(delegateEventMethod));
            t.IsBackground = true;
            t.Start();
        }

        private void LoadingControl_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!this.IsDisposed)
            {
                this.Dispose(true);
            }
        }

        private void initLoadintForm() {
            this.ControlBox = false;   // 设置不出现关闭按钮
            this.StartPosition = FormStartPosition.CenterParent;
        }

        private void delegateEventMethod()
        {
            eventMethod();
        }

        public static LoadingControl getLoading()
        {
            if (pLoading.IsDisposed)
            {
                pLoading = new LoadingControl();
                return pLoading;
            }
            else
            {
                return pLoading;
            }
        }

        //这种方法演示如何在线程安全的模式下调用Windows窗体上的控件。  
        /// <summary>
        /// 设置Loading 窗体的 标题title,标签 caption 和描述 description
        /// </summary>
        /// <param name="title">窗口的标题[为空时,取默认值]</param>
        /// <param name="caption">标签(例如:please wait)[为空时,取默认值]</param>
        /// <param name="description">描述(例如:正在加载资源...)[为空时,取默认值]</param>
        public void SetCaptionAndDescription(string title,string caption, string description)
        {
            if (this.InvokeRequired && this.lbl_caption.InvokeRequired && this.lbl_description.InvokeRequired)
            {
                SetTextCallback d = new SetTextCallback(SetCaptionAndDescription);
                this.Invoke(d, new object[] { title,caption, description });
            }
            else
            {
                if (!title.Equals("")) {
                    this.Text = title;
                }
                if (!caption.Equals(""))
                {
                    this.lbl_caption.Text = caption;
                }
                if (!description.Equals("")) {
                    this.lbl_description.Text = description;
                }
            }
        }

        public  void CloseLoadingForm()
        {
            if (this.InvokeRequired)
            {
                CloseFormCallback d = new CloseFormCallback(CloseLoadingForm);
                this.Invoke(d, new object[] {  });
            }
            else
            {
                if (!this.IsDisposed)
                {
                    this.Dispose(true);
                }
            }
        }

        public void SetExecuteMethod(mydelegate method)
        {
              this.eventMethod += method;
        }


    }
}

 

Form的调用的办法如下:

必发365电子游戏 3

 

其它附上下载链接: