一.combobox控件添加数据的方式
string[] bound = { "2400", "9600", "115200" }; //添加3个字符串数据
comboBox1.Items.AddRange(bound); //将字符串数组添加至comboBox1.Items属性中
comboBox1.SelectedIndex = 1; //设置当前选中项的索引为1
运行结果:
二.?webBrowser控件
设置webBrowser控件的URL地址为目标地址,例如百度:百度一下,你就知道
http://www.baidu.com
当设置好URL后,窗体加载后便会自动跳转至百度界面,此时窗体会出现警告信息,警告信息如下:打开网页出现脚本错误
解决方式如下,需要设置webBrowser的ScriptErrorsSuppressed属性为true即可
三.?button控件批量锁住与打开
项目需求:当winform界面上存在多个按钮时(大于2个),用户需求为当点击其中一个按钮后,其它按钮全部为禁用,当被点击的按钮后台逻辑执行完成后,再释放所有按钮。用户可再次点击其它按钮。此案例多用于多线程,防止线程未执行完,再次执行线程。
后台示例代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
btns = new Button[] { button1,button2,button3,button4,button5,button6,button7,button8 }; //将所需锁住的按钮名称放置在此集合中
}
Button[] btns = null;
private void button1_Click(object sender, EventArgs e) //单击按钮
{
Button_Close();
Thread.Sleep(3000); //模拟延时
Button_Open();
}
private void Button_Close() //锁住集合内全部数组
{
foreach(Button button in btns)
{
button.Enabled = false;
}
}
private void Button_Open() //打开集合内全部数组
{
foreach (Button button in btns)
{
button.Enabled = true;
}
}
}
}
?前台窗体界面:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 运行后的结果:
四.char曲线控件
chart1.Series[0].Points.AddXY(buffer1[i], buffer[i]); //将显示值曲线控件上
五.RichTextBox 富文本框控件
核心代码:
/// <summary>
/// 提示消息类型 0:输入 1:输出 2:正常 3:警告 4:错误
/// </summary>
public enum mLogMsgType { Incoming, Outgoing, Normal, Warning, Error }
/// <summary>
/// 提示消息文字颜色 0:绿色 1:蓝色 2:黑色 3:橘色 4:红色
/// </summary>
private Color[] mLogMsgTypeColor = { Color.Green, Color.Blue, Color.Black, Color.Orange, Color.Red };
/// <summary>
/// 显示消息函数
/// </summary>
/// <param name="msgtype"></param>
/// <param name="msg"></param>
public void SendMsg(mLogMsgType msgtype, string msg)
{
try
{
this.richTextBox1.Invoke(new EventHandler(delegate
{
richTextBox1.TabStop = false;
richTextBox1.SelectedText = string.Empty;
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);
richTextBox1.SelectionColor = mLogMsgTypeColor[(int)msgtype];
richTextBox1.AppendText(string.Format("{0} =>{1} \n", msg, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
richTextBox1.ScrollToCaret();
}));
}
catch
{
}
}
完整测试案例:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
SendMsg(mLogMsgType.Incoming, string.Format("输出结果"));
SendMsg(mLogMsgType.Outgoing, string.Format("输出结果"));
SendMsg(mLogMsgType.Normal, string.Format("输出结果"));
SendMsg(mLogMsgType.Warning, string.Format("输出结果"));
SendMsg(mLogMsgType.Error, string.Format("输出结果"));
}
/// <summary>
/// 提示消息类型 0:输入 1:输出 2:正常 3:警告 4:错误
/// </summary>
public enum mLogMsgType { Incoming, Outgoing, Normal, Warning, Error }
/// <summary>
/// 提示消息文字颜色 0:绿色 1:蓝色 2:黑色 3:橘色 4:红色
/// </summary>
private Color[] mLogMsgTypeColor = { Color.Green, Color.Blue, Color.Black, Color.Orange, Color.Red };
/// <summary>
/// 显示消息函数
/// </summary>
/// <param name="msgtype"></param>
/// <param name="msg"></param>
public void SendMsg(mLogMsgType msgtype, string msg)
{
try
{
this.richTextBox1.Invoke(new EventHandler(delegate
{
richTextBox1.TabStop = false;
richTextBox1.SelectedText = string.Empty;
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);
richTextBox1.SelectionColor = mLogMsgTypeColor[(int)msgtype];
richTextBox1.AppendText(string.Format("{0} =>{1} \n", msg, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
richTextBox1.ScrollToCaret();
}));
}
catch
{
}
}
}
运行结果: