using system;
using system.collections;
using system.componentmodel;
using system.drawing;
using system.windows.forms;
namespace verticalprogressbar
///
/// 列舉型進度條邊框樣式。
///
public enum borderstyles
///
/// 描畫一格垂直進度條控制項。
///
[description("vertical progress bar")]
[toolboxbitmap(typeof(progressbar))]
[browsable(false)]
public partial class verticalprogressbar : usercontrol
///
/// 百分比。
///
[description("verticalprogressbar percent")]
[category("verticalprogressbar")]
[refreshproperties(refreshproperties.all)]
public bool percent
set}
///
/// 最大值。
///
[description("verticalprogressbar maximum value")]
[category("verticalprogressbar")]
[refreshproperties(refreshproperties.all)]
public int maximum
setif (m_maximum < m_value)
invalidate();}}
///
/// 最小值。
///
[description("verticalprogressbar minimum value")]
[category("verticalprogressbar")]
[refreshproperties(refreshproperties.all)]
public int minimum
setif (m_minimum > m_value)
invalidate();}}
///
/// 步長。
///
[description("verticalprogressbar step")]
[category("verticalprogressbar")]
[refreshproperties(refreshproperties.all)]
public int step
set}
///
/// 當前值。
///
[description("verticalprogressbar current value")]
[category("verticalprogressbar")]
public int value
setif (m_value < m_minimum)
invalidate();}}
///
/// 進度條顏色。
///
[description("verticalprogressbar color")]
[category("verticalprogressbar")]
[refreshproperties(refreshproperties.all)]
public system.drawing.color color
set}
///
/// 進度條邊框顏色。
///
[description("verticalprogressbar border style")]
[category("verticalprogressbar")]
public new borderstyles borderstyle
set}
///
/// 進度條樣式。
///
[description("verticalprogressbar style")]
[category("verticalprogressbar")]
public styles style
set}
///
/// 執行步長。
///
public void performstep()
if (m_value < m_minimum)
invalidate();
return;
}///
/// 改變進度。
///
///
public void increment(int value)
if (m_value < m_minimum)
invalidate();
return;
}#endregion
///
/// 描畫進度條邊框。
///
///
private void drawborder(graphics dc)
}///
/// 描畫進度條主體。
///
/// graphics物件
private void drawbar(graphics dc)
else
else
}//進度條高度。
height = (m_value - m_minimum) * this.height / (m_maximum - m_minimum);
if (m_style == styles.solid)
if (m_style == styles.classic)
}///
/// 描畫進度條樣式為solid
///
/// graphics物件
///
///
///
///
private void drawsolidbar(graphics dc, int x, int y, int width, int height)
///
/// 描畫進度條樣式為classic
///
/// graphics 物件
///
///
///
///
private void drawclassicbar(graphics dc, int x, int y, int width, int height)
}///
/// 開始描畫。
///
/// painteventargs 物件
protected override void onpaint(painteventargs e)
//描畫邊框。
drawborder(dc);
base.onpaint(e);
}///
/// 描畫字型。
///
/// painteventargs 物件
public void drawstringrectanglefformat(painteventargs e)
///
/// 改變大小
///
/// eventargs 物件
protected override void onsizechanged(eventargs 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...