You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
3.4 KiB
C#
132 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.Drawing.Drawing2D;
|
|
|
|
namespace Mesnac.Controls.Sulf
|
|
{
|
|
public partial class WorkProgress : SulfControl
|
|
{
|
|
bool bNewPic = false;
|
|
string _statusName;
|
|
|
|
public string StatusName
|
|
{
|
|
get
|
|
{
|
|
return _statusName;
|
|
}
|
|
set
|
|
{
|
|
_statusName = value;
|
|
}
|
|
}
|
|
|
|
|
|
string[] sImages;
|
|
public WorkProgress():base()
|
|
{
|
|
InitializeComponent();
|
|
Init();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 初始化
|
|
/// </summary>
|
|
protected override void Init()
|
|
{
|
|
base.Init();
|
|
this.pictureBox1.Left = 0;
|
|
this.pictureBox1.Top = 0;
|
|
this.pictureBox1.Height = this.Height;
|
|
this.pictureBox1.Width = 0;
|
|
_imageStream = null;
|
|
|
|
this.label1.Left = this.Width / 2 - this.label1.Width / 2;
|
|
this.label1.Top = this.Height / 2 - this.label1.Height / 2;
|
|
sImages = new string[2];
|
|
sImages[0] = "Mesnac.Controls.Sulf.Resources.workpBG.jpg";//rgNull
|
|
sImages[1] = "Mesnac.Controls.Sulf.Resources.workpFG.jpg";//rgNull
|
|
|
|
}
|
|
|
|
protected override void OnPaint(PaintEventArgs e)
|
|
{
|
|
this.label1.Left = this.Width / 2 - this.label1.Width / 2;
|
|
this.label1.Top = this.Height / 2 - this.label1.Height / 2;
|
|
ReloadStream();
|
|
}
|
|
|
|
float _allTotal = 0;
|
|
string _allTotalName;
|
|
|
|
public string AllTotalName
|
|
{
|
|
get { return _allTotalName; }
|
|
set { _allTotalName = value; }
|
|
}
|
|
/// <summary>
|
|
/// 总硫化时间
|
|
/// </summary>
|
|
public float AllTotal
|
|
{
|
|
get
|
|
{
|
|
return _allTotal;
|
|
}
|
|
set
|
|
{
|
|
_allTotal = value;
|
|
}
|
|
}
|
|
|
|
float _sulfTime = 0;
|
|
string _sulfTimeName;
|
|
|
|
public string SulfTimeName
|
|
{
|
|
get { return _sulfTimeName; }
|
|
set { _sulfTimeName = value; }
|
|
}
|
|
/// <summary>
|
|
/// 已经硫化时间
|
|
/// </summary>
|
|
public float SulfTime
|
|
{
|
|
get { return _sulfTime; }
|
|
set
|
|
{
|
|
_sulfTime = value;
|
|
ReloadStream();
|
|
this.Refresh();
|
|
}
|
|
}
|
|
|
|
void ReloadStream()
|
|
{
|
|
if (_allTotal != 0)
|
|
{
|
|
int progress = Convert.ToInt32(_sulfTime / _allTotal * 100);
|
|
this.pictureBox1.Width = Convert.ToInt32(this.Width*(Convert.ToDecimal(progress)/100));
|
|
this._statusName = progress.ToString() + "%";
|
|
//this.label1.Text = this._statusName;
|
|
RegionControl(this.label1, this._statusName);
|
|
}
|
|
}
|
|
|
|
private void RegionControl(Control control, string txt)
|
|
{
|
|
GraphicsPath gp = new GraphicsPath();
|
|
|
|
gp.AddString(txt, new FontFamily("宋体"), (int)FontStyle.Bold, 19, control.ClientRectangle, new StringFormat(StringFormatFlags.NoWrap));
|
|
control.Region = new Region(gp);
|
|
control.ForeColor = Color.Blue;
|
|
}
|
|
}
|
|
}
|