C 實現帶進度條的ListView

2022-10-06 07:24:12 字數 2103 閱讀 2034

推薦閱讀:listview 百分比進度條(delphi版)

對於已經有的元件,可以直接新增進來,新增後要先執行一下,然後會在工具箱內找到相應控制項。

1、首先編寫元件,然後將元件新增到工具箱內

編寫**如下:

public partial class listviewex : system.windows.forms.listview

//c# listview進度條顯示

private color mprogresscolor = color.red;

public color progresscolor

set}

private color mprogresstextcolor = color.black;

public color progresstextcolor

set}

public int progresscolumindex

get}

int progressindex = -1;

const string numberstring = "0123456789.";

private bool checkisfloat(string s)

else return false;

}return true;

}protected override void dispose(bool disposing)

//c# listview進度條顯示

private void initializecomponent()

protected override void ondrawcolumnheader(drawlistviewcolumnheadereventargs e)

protected override void ondrawsubitem(drawlistviewsubitemeventargs e)

else

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)

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))}}

//c# listview進度條顯示

else

} }2、呼叫方法:

private void form1_load(object sender, eventargs e)

private void listview1_drawsubitem(object sender, drawlistviews e)

private void timer1_tick(object sender, eventargs e)

}3、注意要新增timer控制項

相應屬性設定如下:

4、執行結果如下所示

以上所述是基於c#實現帶進度條的listview ,希望對大家有所幫助。

本文標題: c#實現帶進度條的listview

本文位址:

帶進度的圓形進度條的實現

今天通過自定義view來實現乙個帶進度的圓形進度條,實現的最終效果如下圖所示 現在來講一下設計的思路 首先這個進度條可以自定義小圓角矩形的數量 小圓角矩形大小 小圓角矩形的圓角角度 未完成進度時的顏色,完成進度時的顏色 文字大小 文字顏色 圓形半徑,所以需要自定義這些引數 那如何畫這個圓形進度呢?我...

帶進度條的Loading製作

loading的製作已經是個比較老的話題了。但是最近仍然不斷有人問這個問題,畢竟什麼時候都有初學者嘛。換個角度看,這也說明我們的閃客隊伍是在不斷漲大,倒是個可喜的現象。也給了我動力,來寫這篇文章,給入門者提供乙個較為詳細的教程。好,我們開始。loading一般可以用兩幀來製作,放在動畫的最前面。如果...

帶進度條的檔案拷貝

帶進度條的檔案拷貝 可以拷貝任何檔案,拷貝過程有進度條實時反映,並記錄使用時間.顯示效果如圖 private void btncopyfile click object sender,system.eventargs e if false checkfilepath cfw.sourcefile t...