using DevExpress.XtraEditors.Controls;
namespace Yw.WinFrmUI
{
///
///
///
public partial class StringListCheckedListBoxCtrl : DevExpress.XtraEditors.XtraUserControl
{
///
///
///
public StringListCheckedListBoxCtrl()
{
InitializeComponent();
}
///
/// 初始化
///
public void Initial(List strList)
{
this.ckListBox.BeginUpdate();
this.ckListBox.Items.Clear();
strList?.ForEach(x => CreateItem(x));
this.ckListBox.EndUpdate();
}
///
/// 选择
///
public void Select(List strList)
{
foreach (CheckedListBoxItem item in this.ckListBox.Items)
{
if (strList != null && strList.Count > 0)
{
if (strList.Contains(item.Value.ToString()))
{
item.CheckState = CheckState.Checked;
}
else
{
item.CheckState = CheckState.Unchecked;
}
}
}
}
///
/// 获取
///
public List Get()
{
var list = new List();
foreach (CheckedListBoxItem item in this.ckListBox.Items)
{
if (item.CheckState == CheckState.Checked)
{
var str = item.Value.ToString();
list.Add(str);
}
}
return list;
}
//创建项
private void CreateItem(string str)
{
var item = new CheckedListBoxItem();
item.Description = str;
item.Value = str;
item.Tag = str;
item.CheckState = CheckState.Unchecked;
this.ckListBox.Items.Add(item);
}
}
}