应用程序容器, 信号灯, 圆形多彩按钮,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
版权声明:本文为博主原创文章,转载请附上博文链接!

