我是用c#编程的新手,我正在为Wonderware的ArchestrA IDE创建一个应用程序对象。
我想创建一个带有复选框列表的标签页,这些复选框是基于configtime中的对象列表创建的,但我不知道如何将此列表从configtime传递给编辑器。
以下是代码摘录:
Configtime中的代码:
public class Surveillance_AppConfigtime : ConfigtimeBase
{
public List<Primitive> _tEnginePrimitives;
private void Surveillance_AppConfigtime_ConfigtimeInitialize(object sender)
{
_tEnginePrimitives = new List<Primitive>();
_tEnginePrimitives.Add(new Primitive("Scheduler.ScanCyclesCnt", MxDataType.MxInteger));
_tEnginePrimitives.Add(new Primitive("Scheduler.ScanOverrunsCnt", MxDataType.MxInteger));
_tEnginePrimitives.Add(new Primitive("Scheduler.ScanOverrunsConsecCnt", MxDataType.MxInteger));
_tEnginePrimitives.Add(new Primitive("Scheduler.ScanPeriod", MxDataType.MxInteger));
_tEnginePrimitives.Add(new Primitive("Scheduler.TimeIdleAvg", MxDataType.MxInteger));
_tEnginePrimitives.Add(new Primitive("Engine.ProcessCPULoad", MxDataType.MxInteger,true));
_tEnginePrimitives.Add(new Primitive("ScanState", MxDataType.MxBoolean));
}
}
编辑中的代码:
public partial class Surveillance_AppEditor : ArchestraEditorFramework.aaBaseEditorForm
{
TabPage enginePage = new TabPage("Engine");
CheckBox _cb = new CheckBox();
private int y = 0;
public Surveillance_AppEditor()
{
//enginePage
foreach (Primitive oPrimitive in _tEnginePrimitives)
{
_cb = new CheckBox();
_cb.Location = new Point(10, y);
_cb.Name = oPrimitive.Name;
platformPage.Controls.Add(_cb);
y += 15;
}
MainTabControl.TabPages.Add(enginePage);
}
}
希望有人能帮助我。先感谢您!