效果图:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MultiCombox
{
class MultiCombox
{
private DataGridView dgv;
private Panel panel;
private DataGridViewCheckBoxColumn colCheckbox = new DataGridViewCheckBoxColumn();
private DataGridViewTextBoxColumn colText = new DataGridViewTextBoxColumn();
private DataGridViewTextBoxColumn colValue = new DataGridViewTextBoxColumn();
private Form form;
private Control targetBox;
public string realValue;
public List<string> displayMember;
public List<string> valueMember;
private bool isOpen = false;
private Control button;
private string splitChar = ",";
/// <summary>
/// 根据传入值初始化
/// </summary>
/// <param name="form">父窗体</param>
/// <param name="textBox">目标文本框</param>
/// <param name="displayMember">显示的文本集合</param>
/// <param name="valueMember">实际值文本集合</param>
public MultiCombox(Form form,Control targetBox,List<string> displayMember, List<string> valueMember,Control button)