1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-05-05 02:34:07 +02:00

Add a FlatProgressBar control

This commit is contained in:
chylex 2016-04-11 14:01:53 +02:00
parent f81d332d8f
commit 496c1a91a3
3 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,31 @@
namespace TweetDick.Core.Controls {
partial class FlatProgressBar {
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) {
if (disposing && (components != null)) {
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
components = new System.ComponentModel.Container();
}
#endregion
}
}

View File

@ -0,0 +1,35 @@
using System.Drawing;
using System.Windows.Forms;
namespace TweetDick.Core.Controls{
public partial class FlatProgressBar : ProgressBar{
private SolidBrush brush;
public FlatProgressBar(){
SetStyle(ControlStyles.UserPaint,true);
SetStyle(ControlStyles.OptimizedDoubleBuffer,true);
}
public void SetValueInstant(int value){
if (value == Maximum){
Value = value;
Value = value-1;
Value = value;
}
else{
Value = value+1;
Value = value;
}
}
protected override void OnPaint(PaintEventArgs e){
if (brush == null || brush.Color != ForeColor){
brush = new SolidBrush(ForeColor);
}
Rectangle rect = e.ClipRectangle;
rect.Width = (int)(rect.Width*((double)Value/Maximum));
e.Graphics.FillRectangle(brush,rect);
}
}
}

View File

@ -79,6 +79,12 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Configuration\UserConfig.cs" />
<Compile Include="Core\Controls\FlatProgressBar.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Core\Controls\FlatProgressBar.Designer.cs">
<DependentUpon>FlatProgressBar.cs</DependentUpon>
</Compile>
<Compile Include="Core\Handling\ContextMenuHandler.cs" />
<Compile Include="Core\FormBrowser.cs">
<SubType>Form</SubType>