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
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public partial class StringListCheckedListBoxCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public StringListCheckedListBoxCtrl()
|
{
|
InitializeComponent();
|
}
|
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public void Initial(List<string> strList)
|
{
|
this.ckListBox.BeginUpdate();
|
this.ckListBox.Items.Clear();
|
strList?.ForEach(x => CreateItem(x));
|
this.ckListBox.EndUpdate();
|
}
|
|
/// <summary>
|
/// 选择
|
/// </summary>
|
public void Select(List<string> 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;
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// 获取
|
/// </summary>
|
public List<string> Get()
|
{
|
var list = new List<string>();
|
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);
|
}
|
|
}
|
}
|