using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using IntelligentControlForsx.Service.WindturbineInfo; using log4net; using WisdomClient; using WisdomClient.data; namespace IntelligentControlForsx.MyControls.windturbine { /// /// 发电机 /// public partial class AlternatorInfo : BaseControl { private static ILog logger = LogManager.GetLogger("AppInfoLog"); public AlternatorInfo() { InitializeComponent(); } public override void Active(string stationId, string windturbineId, string modelId) { STATIONID = stationId; WINDTURBINEID = windturbineId; timer1.Enabled = true; Refresh(); } public override void DeActive() { timer1.Enabled = false; } private void timer1_Tick(object sender, EventArgs e) { if (isRefreshOver) { isRefreshOver = false; //刷新数据线程 Thread refreshThread = new Thread(Refresh); refreshThread.Start(); isRefreshOver = true; } //绑定数据线程 Thread bindDataThread = new Thread(BindData); bindDataThread.Start(); } //private delegate void UpdateFormInfoDelegate(); //private void BindData() //{ // UpdateFormInfoDelegate del = new UpdateFormInfoDelegate(PointInfoBind); // if (this.InvokeRequired) // { // this.BeginInvoke(del, new object[] { }); // } // else // { // PointInfoBind(); // } //} //private void PointInfoBind() //{ // IList list = WindturbineInfoSvc.Instance.GetPointData(); // foreach (var data in list) // { // string controlName = "P" + data.PartIndex.Replace("part", "") + "_PointValue" + data.Index; // try // { // object obj = this.GetType().GetField(controlName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance // | System.Reflection.BindingFlags.IgnoreCase).GetValue(this); // if (obj is PointValueAI) // { // PointValueAI ai = (PointValueAI)obj; // ai.BindData(data); // } // else if (obj is PointValueDI) // { // PointValueDI di = (PointValueDI)obj; // di.BindData(data); // } // } // catch (Exception ex) // { // logger.Error("绑定数据时,找不到控件:" + ex); // } // } //} //private void Refresh() //{ // WindturbineInfoSvc infoSvc = WindturbineInfoSvc.Instance; // infoSvc.RefreshPointValue(STATIONID, WINDTURBINEID, MODELID, this.GetType().Name); //} } }