91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

C# listview進度條如何顯示

發布時間:2021-12-03 09:33:57 來源:億速云 閱讀:136 作者:iii 欄目:編程語言

這篇文章主要講解了“C# listview進度條如何顯示”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C# listview進度條如何顯示”吧!

看看具體的實現過程。

程序比較簡單,就是重載了listview的實現,不過很實用!

using System;   using System.Collections.Generic;   using System.Text;   using System.Windows.Forms;   using System.Drawing;   //C# listview進度條顯示namespace WindowsApplication1   {   class ListViewEx:System.Windows.Forms.ListView   {   public ListViewEx()   {   InitializeComponent();   }     //C# listview進度條顯示private Color mProgressColor = Color.Red;   public Color ProgressColor   {   get  {   return this.mProgressColor;   }   set  {   this.mProgressColor = value;   }   }   private Color mProgressTextColor = Color.Black;   public Color ProgressTextColor   {   get  {   return mProgressTextColor;   }   set  {   mProgressTextColor = value;   }   }   //C# listview進度條顯示public int ProgressColumIndex   {   set  {   progressIndex = value;   }   get  {   return progressIndex;   }   }   int progressIndex = -1;    /// ﹤summary﹥   /// 檢查是否可以轉化為一個浮點數   /// ﹤/summary﹥   const string numberstring = "0123456789.";   private bool CheckIsFloat(String s)   {   //C# listview進度條顯示foreach (char c in s)   {   if (numberstring.IndexOf(c) ﹥ -1)   {   continue;   }   else  return false;   }   return true;   }    protected override void Dispose(bool disposing)   {   base.Dispose(disposing);   }    //C# listview進度條顯示private void InitializeComponent()   {   this.OwnerDraw = true;   this.View = View.Details;   }    protected override void OnDrawColumnHeader(  DrawListViewColumnHeaderEventArgs e)   {   e.DrawDefault = true;   base.OnDrawColumnHeader(e);   }    protected override void OnDrawSubItem(  DrawListViewSubItemEventArgs e)   {   if (e.ColumnIndex != this.progressIndex)   {   //C# listview進度條顯示e.DrawDefault = true;   base.OnDrawSubItem(e);   }   else  {   if (CheckIsFloat(e.Item.SubItems[e.ColumnIndex].Text))  //判斷當前subitem文本是否可以轉為浮點數   {   float per = float.Parse(e.Item.  SubItems[e.ColumnIndex].Text);   if (per ﹥= 1.0f)   {   per = per / 100.0f;   }   Rectangle rect = new Rectangle(e.Bounds.X,   e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);   DrawProgress(rect, per, e.Graphics);   }      }   }   //C# listview進度條顯示 ///繪制進度條列的subitem   private void DrawProgress(Rectangle rect,   float percent, Graphics g)   {   if (rect.Height ﹥ 2 && rect.Width ﹥ 2)   {   //if ((rect.Top ﹥ 0 && rect.Top ﹤ this.Height)   &&(rect.Left ﹥ this.Left && rect.Left ﹤ this.Width))   {   //繪制進度   int width = (int)(rect.Width * percent);   Rectangle newRect = new Rectangle(rect.Left + 1,   rect.Top + 1, width - 2, rect.Height - 2);   using (Brush tmpb =   new SolidBrush(this.mProgressColor))   {   g.FillRectangle(tmpb, newRect);   }    newRect = new Rectangle(rect.Left +   1, rect.Top + 1, rect.Width - 2,   rect.Height - 2);   g.DrawRectangle(Pens.RoyalBlue, newRect);   StringFormat sf = new StringFormat();   sf.Alignment = StringAlignment.Center;   sf.LineAlignment = StringAlignment.Center;   sf.Trimming = StringTrimming.EllipsisCharacter;   newRect = new Rectangle(rect.Left + 1,   rect.Top + 1, rect.Width - 2,   rect.Height - 2);   using (Brush b =   new SolidBrush(mProgressTextColor))   {   g.DrawString(  percent.ToString("p1"), this.Font, b, newRect, sf);   }   }   }   //C# listview進度條顯示else  {   return;   }   }   }   }

感謝各位的閱讀,以上就是“C# listview進度條如何顯示”的內容了,經過本文的學習后,相信大家對C# listview進度條如何顯示這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

新邵县| 始兴县| 保康县| 女性| 米脂县| 台湾省| 琼结县| 仁寿县| 邵武市| 临汾市| 从化市| 柏乡县| 鹤山市| 绥德县| 龙泉市| 确山县| 台南县| 兴隆县| 恩平市| 封开县| 汉阴县| 伊通| 青浦区| 沛县| 会同县| 淅川县| 壤塘县| 拉萨市| 临桂县| 罗田县| 英德市| 铜山县| 浦江县| 杭州市| 嘉鱼县| 沁水县| 河西区| 民丰县| 墨竹工卡县| 甘洛县| 金塔县|