C# winform控件(combobox,webBrowser,button,char,RichTextBox )

2023-12-26 10:33:24

一.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
            {
            }
        }
 
    }

运行结果:

文章来源:https://blog.csdn.net/m0_47020592/article/details/135214093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。