应用程序容器, 信号灯, 圆形多彩按钮,IO输入组合控件, IO灯
它们对应工具箱的控件如下:

AppContainer 是第三方应用程序容器
用于把第三方程序显示嵌入进来
CircularButton 圆形多彩按钮
Infobox 信息框
可以用来显示设备状态或者log信息
Signal 圆形或者方形信号灯
可以做信号灯,做为组态显示用,例如组合出红绿灯
SignalButton 按钮+信号灯组合
一般用它做IO调用面板的项目
SignalButtonSet 按钮+信号灯+文本框组合
一般用它做IO调用面板的项目,因为它带有io编号的文本框
IOlight IO灯

AppContainer的演示
先对属性AppFilename赋值,它是外部程序名的全路径。
然后调用Start()和Stop() 方法
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
appContainer1.AppFilename = "c:\\Windows\\notepad.exe";
}
private void circularButton1_Click(object sender, EventArgs e)
{
appContainer1.Start();
}
private void circularButton2_Click(object sender, EventArgs e)
{
appContainer1.Stop();
}
}
}
Infobox的演示
此控件基料是富文本编辑框richtextbox
此控件支持多线程显示。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void circularButton1_Click(object sender, EventArgs e)
{
Task.Factory.StartNew(() =>
{
for (int i = 0; i < 10; i++)
{
infoBox1.Invoke(new Action(() =>
{
infoBox1.AddText("green", Color.Green);
}));
}
});
Task.Factory.StartNew(() =>
{
for (int i = 0; i < 10; i++)
{
infoBox1.Invoke(new Action(() =>
{
infoBox1.AddText("red", Color.Red);
}));
}
});
infoBox1.AddText("yellow", Color.Yellow);
}
}
}
Signal
SignalButton
SignalButtonSet
IOlight
的演示
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void circularButton1_Click(object sender, EventArgs e)
{
MessageBox.Show(signalButtonSet1.IDNumber.ToString());
}
private void signal1_MouseHover(object sender, EventArgs e)
{
signal1.IsOn = true;
signal1.IsRectangle = false;
}
private void signal1_MouseLeave(object sender, EventArgs e)
{
signal1.IsOn = false;
signal1.IsRectangle = true;
}
int js1 =-1;
private void iOlight1_MouseDown(object sender, MouseEventArgs e)
{
++js1;
if (js1 == 0)
{
iOlight1.setLightStatus(UserUI.industrialControl.IOlight.lightStatusEnum.低电平);
}
else if (js1==1)
{
iOlight1.setLightStatus(UserUI.industrialControl.IOlight.lightStatusEnum.高电平);
}
else if (js1 == 2)
{
iOlight1.setLightStatus(UserUI.industrialControl.IOlight.lightStatusEnum.无效);
js1 = -1;
}
}
private void signalButton1_UI_Click(object sender, EventArgs e)
{
if (signalButton1.IsOn)
{
signalButton1.IsOn = false;
}
else
{
signalButton1.IsOn = true;
}
}
private void signalButtonSet1_UI_Click(object sender, EventArgs e)
{
if (signalButtonSet1.IsOn)
{
signalButtonSet1.IsOn = false;
}
else
{
signalButtonSet1.IsOn = true;
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}本文视频讲解如下:
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!


少有人走的路


















