using DevExpress.Xpo.Helpers;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
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);
}
}
}