您的位置:首页 > 其它

ComboBox中Tag的使用,转换为Enum类型

2010-01-07 08:25 302 查看
private ClientMessageObject CreateNewMessage() {
ClientMessageObject cmsg = new ClientMessageObject();
RtfFilter filter = new RtfFilter();
String contentText = filter.ConvertFromDocument(this.rtbContent.Document);
int[] receiverUserIds = (int[])this.txtRecipient.Tag;
String recipientName = this.txtRecipient.Text;
String strReceiverUserIds = WfMessageContent.IntArrayToString(",", receiverUserIds);
cmsg.Content = this.GetContent(contentText, recipientName, strReceiverUserIds);

//Tag的引用,转换为Enum类型:
cmsg.Priority =(WfPriority)((ComboBoxItem)this.ucePriority.SelectedItem).Tag;
cmsg.SentDateTime = DateTime.Now;
cmsg.Sid = new Guid();
cmsg.SourceType = MessageSourceTypes.User;
cmsg.Subject = this.txtSubject.Text;
cmsg.UnRead = false;
IUser user = (IUser)this._recipient;
if (user != null) {
cmsg.UserId = user.UserID;
cmsg.UserName = recipientName;
} else {
if (this._clientMessage != null) {
cmsg.UserId = this._clientMessage.UserId;
cmsg.UserName = this._clientMessage.UserName;
}
}
cmsg.WorkOrderNum = "";

return cmsg;
}

private void InitializeUcePriority() {
Type type = typeof(WfPriority);
foreach (FieldInfo fieldInfo in type.GetFields(BindingFlags.Static | BindingFlags.Public)) {
ComboBoxItem item = new ComboBoxItem();
item.Content = this.GetWfPriorityDisplayTextFromResx(fieldInfo.Name);

//定义Tag
item.Tag = (Int32)(WfPriority)fieldInfo.GetValue(type);
this.ucePriority.Items.Add(item);
}
this.ucePriority.SelectedIndex = 2;
}

#region Localization
private string GetWfPriorityDisplayTextFromResx(String priority) {
switch (priority.ToLower()) {
case "highest":
return BoxPropertyCollectionResx.highest;
case "high":
return BoxPropertyCollectionResx.high;
case "normal":
return BoxPropertyCollectionResx.normal;
case "low":
return BoxPropertyCollectionResx.low;
case "lowest":
return BoxPropertyCollectionResx.lowest;
default:
return string.Empty;
}
}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: