45 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|