2015-05-04 44 views
0

我一直試圖在Blend中獲取圖像作爲進度條以在程序中使用,以查看剩餘多少時間,並且爲了適合整個GUI,我想要一個服裝進度條,而不是默認的綠色條,我有2張我想使用的圖片,持有酒吧和de綠色酒吧的cointainer。唯一的問題是我不知道如何設置這些東西。在Blend中的圖像中創建進度條

回答

0

除非禁用應用程序的視覺樣式,否則無法更改進度欄的顏色。我的建議是創建一個自定義控件,一個簡單的方法就是在每次進度變化時填充一塊矩形。 因此,使用面板作爲容器和一個PictureBox來繪製它停靠在容器上。在圖片框檢查的Paint事件如果進度變化(進步存儲爲一個屬性或字段INT),如果它沒有得出剩餘矩形:

//check if progress changed ex. if(lastProg != this.Progress) 
using (Graphics g = Graphics.FromImage(pb.Image)) { 
    using(Brush brush = new SolidBrush(myColor)) { 
     //calculate width and x here 
     g.FillRectangle(brush, x, 0, width, pb.Heigth); 
    } 
} 

你需要知道它是正比於它的寬度,以便如果它的大小可能會因用戶調整窗口大小而發生變化,那麼您還必須對其進行縮放。 畢竟你可以添加一些其他的視覺風格,所以當進度真的很慢時,感覺仍然有效。 那麼這是我的解決方案,如果你需要一個樣本,這是​​。