CheckedComboBoxEdit에 열겨형 값을 표시할 수 있습니다.
using DevExpress.XtraEditors;
using System;
using System.Windows.Forms;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
/// <summary>
/// Color 열거형 입니다.
/// </summary>
enum MyColors
{
None = 0x00,
Black = 0x01,
White = 0x02,
Blue = 0x04,
Yellow = 0x08,
Green = Blue | Yellow
}
#region Form1()
/// <summary>
/// 생성자 입니다.
/// </summary>
public Form1()
{
InitializeComponent();
this.checkedComboBoxEdit1.Properties.SetFlags(typeof(MyColors));
RemoveCombinedFlags(this.checkedComboBoxEdit1);
this.checkedComboBoxEdit1.SetEditValue(MyColors.Black | MyColors.Green);
}
#endregion
#region RemoveCombinedFlags(checkedComboBoxEdit)
/// <summary>
/// 복합 플래그에 해당하는 항목을 제거합니다.
/// </summary>
/// <param name="checkedComboBoxEdit">CheckedComboBoxEdit 입니다.</param>
private void RemoveCombinedFlags(CheckedComboBoxEdit checkedComboBoxEdit)
{
for (int i = checkedComboBoxEdit.Properties.Items.Count - 1; i > 0; i--)
{
Enum value1 = checkedComboBoxEdit.Properties.Items[i].Value as Enum;
for (int j = i - 1; j >= 0; j--)
{
Enum value2 = checkedComboBoxEdit.Properties.Items[j].Value as Enum;
if (value1.HasFlag(value2))
{
checkedComboBoxEdit.Properties.Items.RemoveAt(i);
break;
}
}
}
}
#endregion
}
}
728x90
댓글