中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#進度條在彈出窗口中顯示的實現方法

發布時間:2021-07-16 10:15:25 來源:億速云 閱讀:536 作者:chen 欄目:編程語言

這篇文章主要介紹“C#進度條在彈出窗口中顯示的實現方法”,在日常操作中,相信很多人在C#進度條在彈出窗口中顯示的實現方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#進度條在彈出窗口中顯示的實現方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

在C#中要實現顯示進度條,只要通過C#子線程控制進度條即可。至于彈出一個模式窗口來顯示進度條,則可以按照子線程的思路稍作修改。

C#進度條窗體

首先是進度條窗體,需要在上面添加進度條,然后去掉ControlBox。除此外,還要增加一個方法,用來控制進度條的增加幅度,具體如下:

/// < summary>  /// Increase process bar  /// < /summary>  /// < param name="nValue">the value increased< /param>  /// < returns>< /returns>  public bool Increase( int nValue )  {      if( nValue > 0 )      {          if( prcBar.Value + nValue <  prcBar.Maximum )          {              prcBar.Value += nValue;              return true;          }          else         {              prcBar.Value = prcBar.Maximum;              this.Close();              return false;          }      }      return false;  }

C#進度條:主窗體

接著就是主窗體了,如何進行操作了,首先需要定義兩個私有成員,一個委托。其中一個私有成員是保存當前進度條窗體對象,另一個是保存委托方法(即增加進度條尺度),具體如下:

private frmProcessBar myProcessBar = null;  private delegate bool IncreaseHandle( int nValue );  private IncreaseHandle myIncrease = null;

接著要在主窗體中提供函數來打開進度條窗體,如下:

/// < summary>  /// Open process bar window  /// < /summary>  private void ShowProcessBar()  {      myProcessBar = new frmProcessBar();       // Init increase event      myIncrease = new IncreaseHandle( myProcessBar.Increase );      myProcessBar.ShowDialog();      myProcessBar = null;  }

C#進度條彈出窗口線程創建

那么現在就可以開始創建線程來運行,具體如下:

/// < summary>  /// Sub thread function  /// < /summary>  private void ThreadFun()  {      MethodInvoker mi = new MethodInvoker( ShowProcessBar );      this.BeginInvoke( mi );       Thread.Sleep( 1000 );//Sleep a while to show window       bool blnIncreased = false;      object objReturn = null;      do     {          Thread.Sleep( 50 );          objReturn = this.Invoke( this.myIncrease,               new object[]{ 2 } );          blnIncreased = (bool)objReturn ;      }      while( blnIncreased );  }

注意以上,在打開進度條窗體和增加進度條進度的時候,一個用的是BeginInvoke,一個是Invoke,這里的區別是BeginInvoke不需要等待方法運行完畢,而Invoke是要等待方法運行完畢。還有一點,此處用返回值來判斷進度條是否到頭了,如果需要有其他的控制,可以類似前面的方法來進行擴展。

啟動線程,可以如下:

Thread thdSub = new Thread( new ThreadStart( ThreadFun ) );  thdSub.Start();

這樣,一個用模式打開進度條窗體就做完了。

到此,關于“C#進度條在彈出窗口中顯示的實現方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玛沁县| 武隆县| 宁陕县| 苏州市| 大埔县| 周口市| 徐汇区| 深水埗区| 拉萨市| 临武县| 辽宁省| 和硕县| 穆棱市| 石阡县| 张家港市| 祁连县| 鄱阳县| 雷山县| 太保市| 巫山县| 荔浦县| 叙永县| 东平县| 襄城县| 马山县| 乐山市| 尚义县| 黔西| 神农架林区| 福州市| 宜春市| 朝阳市| 辛集市| 石棉县| 张家口市| 固阳县| 孟津县| 纳雍县| 项城市| 和田市| 潞城市|