C#中多个combobox如何实现联合使用

四个combobox的下拉框选项都为1.2.3.4,在如果选项中的1被选后,其他的combobox就不能继续选择1,其他的也一样

添加SelectedIndexChanged事件,然后用数组的记录住每个combox选中的值,判断已经存在则还原为原来的值,示例代码如下

img

4个combobox的SelectedIndexChanged全部选择comboBox_SelectedIndexChanged这个处理函数

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;
using System.IO;
using System.Data.SqlClient;

namespace WindowsFormsApp8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }
        int[] texts = new[] { -1, -1, -1, -1 };
       
        private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            var o = (ComboBox)sender;
            var index = int.Parse(o.Name.Replace("comboBox", "")) - 1;//注意combobox的name起得有规律,依次为comboBox1~comboBox4
            var SelectedIndex = o.SelectedIndex;
            if (SelectedIndex == -1) return;
            if (texts.Contains(SelectedIndex))
            {
                MessageBox.Show("已经选过!");

                o.SelectedIndex = texts[index];//还原
            }
            else texts[index] = SelectedIndex;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            texts = new[] { -1, -1, -1, -1 };
            comboBox1.SelectedIndex = comboBox2.SelectedIndex = comboBox3.SelectedIndex = comboBox4.SelectedIndex = -1;
        }
    }
}


img


有其他问题可以继续交流~

可以通过onchange事件去动态更新后面下拉框的列表,不能选择的选项不显示在下拉项。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632