Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有按位枚举([标志])的WinForm TokenEdit控件_C#_Devexpress_Devexpress Windows Ui - Fatal编程技术网

C# 具有按位枚举([标志])的WinForm TokenEdit控件

C# 具有按位枚举([标志])的WinForm TokenEdit控件,c#,devexpress,devexpress-windows-ui,C#,Devexpress,Devexpress Windows Ui,如何将DevExpressTokenEdit控件与按位枚举一起使用 (我找不到关于这个案例的任何全面的简短文档。一点一点。)让我们来定义枚举 [Flags] public enum BeverageInfoEnum { Water = 1 << 0, HasAlcool = 1 << 1, Wine = 1 << 2, Soda = 1 << 3, Warm

如何将DevExpress
TokenEdit
控件与按位枚举一起使用

(我找不到关于这个案例的任何全面的简短文档。一点一点。)

让我们来定义枚举

[Flags]
public enum BeverageInfoEnum
{
    Water       = 1 << 0,
    HasAlcool   = 1 << 1,
    Wine        = 1 << 2, 
    Soda        = 1 << 3, 
    Warm        = 1 << 4
}
然后,您可以从中获取值(或者只需在
EditValue
上使用数据绑定):

您将聚合
b
中的所有按位值。如你所料。设置值时相同:

var b = BeverageInfoEnum.Water | BeverageInfoEnum.Warm;
(BeverageInfoEnum)this.tokenEditInfo.EditValue = b;
TokenEdit
控件将按位值一分为二,并显示两个分开的标记

var b = (BeverageInfoEnum)this.tokenEditInfo.EditValue
var b = BeverageInfoEnum.Water | BeverageInfoEnum.Warm;
(BeverageInfoEnum)this.tokenEditInfo.EditValue = b;