程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# winform使用GDI創建自定義進度條

C# winform使用GDI創建自定義進度條

編輯:關於C#
 

首先大家在使用微軟自帶的ProgressBar控件的話,效果太差,找不到自己想要的效果,現在我來教大家如何創建自定義的控件,廢話不多說貼教程

效果展示:來自Lorna(黃鑫)的博客

 

 

1.首先創建一個自定義控件


2.復制如下代碼,更改參數


<strong>private int _Max;//進度條的最大值

private int _Mth;//進度條現在的值

 

public int MaxValue

{

get

{

return this._Max;

}

set

{

this._Max = value;

 

}

}

 

public int MthValue

{

get

{

return this._Mtn;

}

set

{

this._Mtn = value;

this.SetBlood();

}

}

 

private IContainer components = null;

 

public Blood()

{

this.InitializeComponent();

base.Load += new EventHandler(this.Blood_Load);

}

 

private void Blood_Load(object sender, EventArgs e)

{

this.SetBlood();

}

 

protected override void Dispose(bool disposing)

{

if (disposing && (this.components != null))

{

this.components.Dispose();

}

base.Dispose(disposing);

}

 

private void InitializeComponent()

{

base.SuspendLayout();

base.AutoScaleMode = AutoScaleMode.None;

this.BackColor = Color.Transparent;

this.BackgroundImage = "//放在底層的圖片";

this.BackgroundImageLayout = ImageLayout.Center;

this.DoubleBuffered = true;

base.Name = "Blood";

base.Size = new Size(int, int);//尺寸

base.Load += new EventHandler(this.Blood_Load);

base.ResumeLayout(false);

}

 

public void SetBlood()

{

try

{

if (base.IsHandleCreated)

{

if (this.BackgroundImage != null)

{

this.BackgroundImage.Dispose();

this.BackgroundImage = new Bitmap("圖片");

}

using (Graphics graphics = Graphics.FromImage(this.BackgroundImage))

{

if (this._Max != 0)

{

double num = ((double) this._Min) / (this._Max * 1.0);//計算位置

graphics.DrawImage("覆蓋上去的圖片", new Rectangle(0, 0, Convert.ToInt32((double) (211.0 * num)), int//尺寸), new Rectangle(0, 0, Convert.ToInt32((double) (211.0 * num)), int//), GraphicsUnit.Pixel);

}

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}</strong>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved