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.
lj_plc/Controls/Mesnac.Controls.ChemicalWei.../HslMoveText.cs

257 lines
9.0 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.Drawing.Text;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mesnac.Controls.ChemicalWeighing
{
/// <summary>
/// 移动的文本控件
/// </summary>
// Token: 0x02000045 RID: 69
[Description("移动文本控件,支持文件正向反向移动,支持设置移动速度")]
public class HslMoveText : UserControl
{
/// <summary>
/// 实例化一个默认的对象
/// </summary>
// Token: 0x060005CE RID: 1486 RVA: 0x00039D44 File Offset: 0x00037F44
public HslMoveText()
{
this.InitializeComponent();
this.sf = new StringFormat();
this.sf.Alignment = StringAlignment.Center;
this.sf.LineAlignment = StringAlignment.Center;
base.SetStyle(ControlStyles.UserPaint | ControlStyles.SupportsTransparentBackColor, true);
base.SetStyle(ControlStyles.ResizeRedraw, true);
base.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
base.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.timer = new Timer();
this.timer.Interval = 50;
this.timer.Tick += this.Timer_Tick;
this.timer.Start();
}
/// <summary>
/// 获取或设置控件的背景色
/// </summary>
// Token: 0x170001CB RID: 459
// (get) Token: 0x060005CF RID: 1487 RVA: 0x00039E30 File Offset: 0x00038030
// (set) Token: 0x060005D0 RID: 1488 RVA: 0x00039E38 File Offset: 0x00038038
[Browsable(true)]
[Description("获取或设置控件的背景色")]
[Category("HslControls")]
[DefaultValue(typeof(Color), "Transparent")]
[EditorBrowsable(EditorBrowsableState.Always)]
public override Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = value;
}
}
/// <summary>
/// 获取或设置当前控件的文本
/// </summary>
// Token: 0x170001CC RID: 460
// (get) Token: 0x060005D1 RID: 1489 RVA: 0x00039E44 File Offset: 0x00038044
// (set) Token: 0x060005D2 RID: 1490 RVA: 0x00039E5C File Offset: 0x0003805C
[Browsable(true)]
[Description("获取或设置当前控件的文本")]
[Category("HslControls")]
[EditorBrowsable(EditorBrowsableState.Always)]
[Bindable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override string Text
{
get
{
return base.Text;
}
set
{
base.Text = value;
base.Invalidate();
}
}
/// <summary>
/// 获取或设置泵控件是否是横向的还是纵向的
/// </summary>
// Token: 0x170001CD RID: 461
// (get) Token: 0x060005D3 RID: 1491 RVA: 0x00039E70 File Offset: 0x00038070
// (set) Token: 0x060005D4 RID: 1492 RVA: 0x00039E88 File Offset: 0x00038088
[Browsable(true)]
[Description("获取或设置泵控件是否是横向的还是纵向的")]
[Category("HslControls")]
[DefaultValue(typeof(HslDirectionStyle), "Vertical")]
public HslDirectionStyle PumpStyle
{
get
{
return this.hslValvesStyle;
}
set
{
this.hslValvesStyle = value;
base.Invalidate();
}
}
/// <summary>
/// 获取或设置泵的动画速度0为静止正数为正向流动负数为反向流动
/// </summary>
// Token: 0x170001CE RID: 462
// (get) Token: 0x060005D5 RID: 1493 RVA: 0x00039E9C File Offset: 0x0003809C
// (set) Token: 0x060005D6 RID: 1494 RVA: 0x00039EB4 File Offset: 0x000380B4
[Browsable(true)]
[Description("获取或设置传送带流动的速度0为静止正数为正向流动负数为反向流动")]
[Category("HslControls")]
[DefaultValue(1f)]
public float MoveSpeed
{
get
{
return this.moveSpeed;
}
set
{
this.moveSpeed = value;
base.Invalidate();
}
}
/// <summary>
/// 重绘控件的
/// </summary>
/// <param name="e">重绘事件</param>
// Token: 0x060005D7 RID: 1495 RVA: 0x00039EC8 File Offset: 0x000380C8
protected override void OnPaint(PaintEventArgs e)
{
Graphics graphics = e.Graphics;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
this.PaintHslControls(graphics, base.Width, base.Height);
base.OnPaint(e);
}
/// <inheritdoc cref="M:HslControls.HslArrow.PaintHslControls(System.Drawing.Graphics,System.Single,System.Single)" />
// Token: 0x060005D8 RID: 1496 RVA: 0x00039F18 File Offset: 0x00038118
public void PaintHslControls(Graphics g, int width, int height)
{
bool flag2 = this.hslValvesStyle == HslDirectionStyle.Vertical;
if (flag2)
{
this.PaintMain(g, (float)width, (float)height);
}
else
{
g.TranslateTransform((float)width, 0f);
g.RotateTransform(90f);
this.PaintMain(g, (float)height, (float)width);
g.ResetTransform();
}
}
// Token: 0x060005D9 RID: 1497 RVA: 0x00039F80 File Offset: 0x00038180
private void PaintMain(Graphics g, float width, float height)
{
this.fontWidth = g.MeasureString(this.Text, this.Font).Width + 3f;
Brush brush = new SolidBrush(this.ForeColor);
RectangleF layoutRectangle = new RectangleF(this.startLocationX, 0f, this.fontWidth, height);
g.DrawString(this.Text, this.Font, brush, layoutRectangle, this.sf);
}
// Token: 0x060005DA RID: 1498 RVA: 0x00039FF4 File Offset: 0x000381F4
private PointF[] GetPointsFrom(string points, float width, float height, float dx = 0f, float dy = 0f)
{
return HslHelper.GetPointsFrom(points, 80.7f, 112.5f, width, height, dx, dy);
}
// Token: 0x060005DB RID: 1499 RVA: 0x0003A01C File Offset: 0x0003821C
private void Timer_Tick(object sender, EventArgs e)
{
bool flag = this.moveSpeed != 0f;
if (flag)
{
bool flag2 = this.startLocationX < -this.fontWidth - 5f;
if (flag2)
{
this.startLocationX = (float)(base.Width + 1);
}
else
{
this.startLocationX -= this.moveSpeed;
}
base.Invalidate();
}
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
// Token: 0x060005DC RID: 1500 RVA: 0x0003A088 File Offset: 0x00038288
protected override void Dispose(bool disposing)
{
bool flag = disposing && this.components != null;
if (flag)
{
this.components.Dispose();
}
base.Dispose(disposing);
}
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
// Token: 0x060005DD RID: 1501 RVA: 0x0003A0C0 File Offset: 0x000382C0
private void InitializeComponent()
{
base.SuspendLayout();
base.AutoScaleMode = AutoScaleMode.None;
this.BackColor = Color.Transparent;
base.Name = "HslMoveText";
base.Size = new Size(720, 41);
base.ResumeLayout(false);
}
// Token: 0x040002DD RID: 733
private float fontWidth = 100f;
// Token: 0x040002DE RID: 734
private StringFormat sf = null;
// Token: 0x040002DF RID: 735
private HslDirectionStyle hslValvesStyle = HslDirectionStyle.Vertical;
// Token: 0x040002E0 RID: 736
private float moveSpeed = 1f;
// Token: 0x040002E1 RID: 737
private Timer timer = null;
// Token: 0x040002E2 RID: 738
private float startLocationX = -100000f;
/// <summary>
/// 必需的设计器变量。
/// </summary>
// Token: 0x040002E3 RID: 739
private IContainer components = null;
}
}