Files
1258/JinYuan.ControlLib/UCElectricityMeterH.cs
T
2026-08-04 18:36:40 +08:00

336 lines
9.0 KiB
C#

using JinYuan.Models;
using System.ComponentModel;
using System.Windows.Forms;
namespace JinYuan.ControlLib
{
public partial class UCElectricityMeterH : UserControl
{
public UCElectricityMeterH()
{
InitializeComponent();
//设置控件样式,去除缓冲
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.Selectable, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
}
//#region 减少闪烁
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
//#endregion
private string smartMeter = "智能电表";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件A相电压")]
public override string Text
{
get { return smartMeter; }
set
{
smartMeter = value;
this.UCtitleName.Text = smartMeter;
}
}
#region 相电压
private string phaseVoltageA = "A相电压";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件A相电压")]
public string Text1
{
get { return phaseVoltageA; }
set
{
phaseVoltageA = value;
this.txtPhaseVoltageA.TitleName = phaseVoltageA;
}
}
private string phaseVoltageB = "B相电压";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件B相电压")]
public string Text2
{
get { return phaseVoltageB; }
set
{
phaseVoltageB = value;
this.txtPhaseVoltageB.Text = phaseVoltageB;
}
}
private string phaseVoltageC = "C相电压";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件C相电压")]
public string Text3
{
get { return phaseVoltageC; }
set
{
phaseVoltageC = value;
this.txtPhaseVoltageC.Text = phaseVoltageC;
}
}
#endregion
#region 相电流
private string phaseCurrentA = "A相电流";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件A相电流")]
public string Text4
{
get { return phaseCurrentA; }
set
{
phaseCurrentA = value;
this.txtPhaseCurrentA.Text = phaseCurrentA;
}
}
private string phaseCurrentB = "B相电流";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件B相电流")]
public string Text5
{
get { return phaseCurrentB; }
set
{
phaseCurrentB = value;
this.txtPhaseCurrentB.Text = phaseCurrentB;
}
}
private string phaseCurrentC = "C相电流";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件C相电流")]
public string Text6
{
get { return phaseCurrentC; }
set
{
phaseCurrentC = value;
this.txtPhaseCurrentC.Text = phaseCurrentC;
}
}
#endregion
#region 相功率
private string phasePowerA = "A相功率";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件A相功率")]
public string Text7
{
get { return phasePowerA; }
set
{
phasePowerA = value;
this.txtPhasePowerA.Text = phasePowerA;
}
}
private string phasePowerB = "B相功率";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件B相功率")]
public string Text8
{
get { return phasePowerB; }
set
{
phasePowerB = value;
this.txtPhasePowerB.Text = phasePowerB;
}
}
private string phasePowerC = "C相功率";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件C相功率")]
public string Text9
{
get { return phasePowerC; }
set
{
phasePowerC = value;
this.txtPhasePowerC.Text = phasePowerC;
}
}
#endregion
private string activePower = "总有功功率";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件总有功功率")]
public string Text10
{
get { return activePower; }
set
{
activePower = value;
this.txtActivePower.TitleName = activePower;
}
}
private string powerFactor = "总功率因数";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件总功率因数")]
public string Text11
{
get { return powerFactor; }
set
{
powerFactor = value;
this.txtPowerFactor.TitleName = powerFactor;
}
}
private string pt = "电压变比";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件电压变比")]
public string Text12
{
get { return pt; }
set
{
pt = value;
this.txtPt.TitleName = pt;
}
}
private string ct = "电流变比";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件电流变比")]
public string Text13
{
get { return ct; }
set
{
ct = value;
this.txtCt.TitleName = ct;
}
}
private string accumulatedElectricity = "累计电能";
[Browsable(true)]
[Category("自定义属性")]
[Description("设置或获取控件累计电能")]
public string Text14
{
get { return accumulatedElectricity; }
set
{
accumulatedElectricity = value;
this.txtAccumulatedElectricity.TitleName = accumulatedElectricity;
}
}
private JinYuan.Models.ElectricEnergy _electricEnergy = new JinYuan.Models.ElectricEnergy();
[Browsable(false)]
[Category("自定义属性")]
[Description("设置或获取实体类值")]
public ElectricEnergy ElectricEnergy
{
get
{
return _electricEnergy;
}
set
{
if (value != null)
{
_electricEnergy = value;
SetElectricEnergy(_electricEnergy);
}
}
}
private void SetElectricEnergy(ElectricEnergy m)
{
//累计电能
this.txtAccumulatedElectricity.CurrentValue = m.AccumulatedElectricity.ToString();
//A相电压 V
this.txtPhaseVoltageA.CurrentValue = m.PhaseVoltageA.ToString();
//B相电压
this.txtPhaseVoltageB.CurrentValue = m.PhaseVoltageB.ToString();
//C相电压
this.txtPhaseVoltageC.CurrentValue = m.PhaseVoltageC.ToString();
// A相电流
this.txtPhaseCurrentA.CurrentValue = m.PhaseCurrentA.ToString();
// B相电流
this.txtPhaseCurrentB.CurrentValue = m.PhaseCurrentB.ToString();
// C相电流
this.txtPhaseCurrentC.CurrentValue = m.PhaseCurrentC.ToString();
// A相功率
this.txtPhasePowerA.CurrentValue = m.PhasePowerA.ToString();
// B相功率
this.txtPhasePowerB.CurrentValue = m.PhasePowerB.ToString();
// C相功率
this.txtPhasePowerC.CurrentValue = m.PhasePowerC.ToString();
// 总有功功率
this.txtActivePower.CurrentValue = m.ActivePower.ToString();
// 总功率因数
this.txtPowerFactor.CurrentValue = m.PowerFactor.ToString();
// 电压变比
this.txtPt.CurrentValue = m.pt.ToString();
// 电流变比
this.txtCt.CurrentValue = m.ct.ToString();
}
}
}