有些時候我們做的程式需要進度條,而vs提供的控制項不是我們想要的。先看效果圖:
進度條閃爍動畫,當然背景可設為transparent
之前想手繪進度條線條的,結果控制項執行時會閃爍,所以直接用了panel控制項
原始碼:
[defaultevent("用到的素材:progressclick")]
[toolboxbitmap(
typeof
(trackbar))]
public
partial
class
processbar : usercontrol
private
int locationx=0
; [description(
"單擊時x的座標")]
public
intlocationx
}private
int current = 0
; [description(
"當前進度")]
public
intcurrent
set }
private
bool isplay = false
; [description(""
)]
public
bool
isplay
set
}public
delegate
void mousehandle(object
sender,eventargs e);
[description(
"點下滑鼠")]
public
event
mousehandle barmousedown;
int picturetype = 0
;
private
void tmrcurrent_tick(object
sender, eventargs e)
else
graphicspath g =subgraphicspath(picture.image);
if (g == null) return
; picture.region = new
region(g);
}private
unsafe
static
graphicspath subgraphicspath(image img)
else
if (start > -1 && (p[0] == p0 && p[1] == p1 && p[2] == p2)) //
如果 之前的點是不透明 且 透明
if (x == width - 1 && start > -1) //
如果 之前的點是不透明 且 是最後乙個點
p += 3; //
} p +=offset;
} bitmap.unlockbits(bmdata);
bitmap.dispose();
//返回計算出來的不透明路徑
return
g; }
private
void paneltotal_mousedown(object
sender, mouseeventargs e)
}private
void panelcurrent_mousedown(object
sender, mouseeventargs e)}}
直接右鍵另存為,之所以用黑色背景是因為是白色的看不見,不用多說了。
自定義進度條
自定義進度條 1 繪製底色 灰色 2 繪製進度 藍色 3 繪製最大的進度 純藍色 rectf rf new rectf 0,0,mwidth,mheight 繪製圓角矩形,背景色為畫筆顏色 mpaint.setcolor color.rgb 220,220,220 canvas.drawroundr...
自定義圓形進度條,繪製進度條
inte ce hmprogressview property nonatomic,weak uilabel label end implementation hmprogressview self drawrect self.bounds 重新繪製 在view上做乙個重繪的標記,當下次螢幕重新整理...
自定義 ProgressBar 進度條 自定義樣式
今天學習給progressbar換個樣式,先看效果圖 c h,e d8 z f j x 原理 在xml檔案中分別定義進度條背景 第一進度顏色 第二進度顏色,然後在progressbar的android progressdrawable屬性應用即可。6 j a7 c h b k h q y g s d...