45 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Volian.Controls.Library
{
public partial class ListBoxMulti : ListBox
{
public ListBoxMulti()
{
Visible = true;
SelectionMode = SelectionMode.MultiSimple;
SelectedIndexChanged += lb_SelectedIndexChanged;
Disposed += ListBoxMulti_Disposed;
}
public int singleselectedindex { get; set; }
private void lb_SelectedIndexChanged(object sender, EventArgs e)
{
ListBoxMulti tmp = (ListBoxMulti)sender;
if (tmp.SelectedItems.Count == 1 && tmp.singleselectedindex == 0)
{
tmp.ClearSelected();
}
else if (tmp.SelectedItems.Count == 1)
tmp.singleselectedindex = tmp.SelectedIndex;
else
tmp.singleselectedindex = -1;
}
private void ListBoxMulti_Disposed(object sender, EventArgs e)
{
SelectedIndexChanged -= lb_SelectedIndexChanged;
}
}
}