如果您不仅使用 1stcomboBox 来选择项目 + 删除, 并且使用通用列表作为组合框数据源; i 猜测您可以使用扩展方法
/// <summary>
/// returns a new List<T> without the List<T> which won t have the given parameter
///
/// Example Usage of the extension method :
///
/// List<int> nums = new List<int>() { 1, 2, 3, 4, 5 };
///
/// List<int> i = nums.Without(3);
///
/// </summary>
/// <typeparam name="TList"> Type of the Caller Generic List </typeparam>
/// <typeparam name="T"> Type of the Parameter </typeparam>
/// <param name="list"> Name of the caller list </param>
/// <param name="item"> Generic item name which exclude from list </param>
/// <returns>List<T> Returns a generic list </returns>
public static TList Without<TList, T>(this TList list, T item) where TList : IList<T>, new()
{
TList l = new TList();
foreach (T i in list.Where(n => !n.Equals(item)))
{
l.Add(i);
}
return l;
}
然后您可以设置您想要的组合框的数据源( 列表非常快)
by the way. 。 如果您想要确定鼠标选择的组合框项( 用户活动 - 不是程序化的) 您需要使用选中的更改事件; 不是选中的 Index 更改 。 在选中的 Index Change 事件第一次装入组合框时, 您也会抓住它。 但是, 选择的改变承诺事件会等待键盘或按鼠标键到组合框箭头射击本身 。