亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? invitecontrol.cs

?? 飛信的收發使用csharp進行開發
?? CS
?? 第 1 頁 / 共 4 頁
字號:
?namespace Imps.Client.Pc
{
    using Imps.Client.Core;
    using Imps.Client.Pc.BizControls;
    using Imps.Client.Pc.Controls;
    using Imps.Client.Resource;
    using Imps.Client.Utils;
    using Imps.Client.Utils.Win32;
    using Imps.Common;
    using Imps.Utils;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Runtime.CompilerServices;
    using System.Windows.Forms;

    public class InviteControl : UserControl
    {
        private List<Imps.Client.Core.Contact> _excludeContacts;
        private IFrameworkWindow _framework;
        private string _lastSearchString;
        private ContactMatchHelper _matchHelper;
        private int _maxSelectedCount;
        private bool _onlyShowOnline;
        private List<Imps.Client.Core.Contact> _selectedContacts;
        private bool _showGroup;
        private bool _showJ2MER1;
        private bool _showMobileBuddy;
        private bool _showSelf;
        private bool _showSMSOffline;
        private bool _showSMSOnline;
        private bool _showSymbianR1;
        private IContainer components;
        public string emptyText;
        private bool fireByFunction;
        private FlowLayoutPanel flowPanlContacts;
        private int lastCheckIndex;
        private Label lblMessage;
        private Label lblNoneContacts;
        private Label lblSelectInfo;
        private Imps.Client.Core.Contact me;
        private ToolStripMenuItem menuDelete;
        private ContextMenuStrip menuOperation;
        private Panel panel1;
        private Panel panel2;
        private Panel pnlOnlyForBorderShit;
        private ToolTip searchTip;
        private BuddySelectionTree treeContacts;
        private XTextBox txtSearch;
        private XSplitContainer xSplitContainer;

        public event EventHandler<SplitterEventArgs> SplitterMoved;

        public InviteControl(IFrameworkWindow framework) : this(framework, null)
        {
        }

        public InviteControl(IFrameworkWindow framework, List<Imps.Client.Core.Contact> selectedContacts) : this(framework, selectedContacts, null)
        {
        }

        public InviteControl(IFrameworkWindow framework, List<Imps.Client.Core.Contact> selectedContacts, List<Imps.Client.Core.Contact> excludeContacts)
        {
            this.searchTip = new ToolTip();
            this._showGroup = true;
            this._maxSelectedCount = 0x7fffffff;
            this._showJ2MER1 = true;
            this._showSymbianR1 = true;
            this._showSMSOffline = true;
            this.emptyText = " " + StringTable.Contact.ContactSearchEmptyText;
            this.lastCheckIndex = -1;
            this._lastSearchString = string.Empty;
            this.InitializeComponent();
            this._framework = framework;
            this._selectedContacts = selectedContacts;
            this._excludeContacts = excludeContacts;
            this.xSplitContainer.SplitterMoved += new SplitterEventHandler(this.xSplitContainer_SplitterMoved);
        }

        private void AddBuddyNode(BuddySelectionGroupNode parent, Imps.Client.Core.Contact contact)
        {
            BuddySelectionBuddyNode buddy = new BuddySelectionBuddyNode();
            buddy.NickName = contact.DisplayName;
            buddy.MoodPhrase = contact.Presence.MoodPhrase;
            buddy.Tag = contact;
            buddy.StatusImage = contact.PresenceIcon;
            if (contact.Type != ContactType.MobileBuddy)
            {
                buddy.StatusImage = contact.Presence.Icon;
            }
            else
            {
                buddy.StatusImage = ImpsPresenceIconsEx.Instance.MobileBuddy;
            }
            this.treeContacts.AddBuddyNode(parent, buddy);
        }

        private bool AddLabel(string name, object tag)
        {
            try
            {
                if (tag is Imps.Client.Core.Contact)
                {
                    Imps.Client.Core.Contact contact = tag as Imps.Client.Core.Contact;
                    if (this.GetLabelByContact(contact) != null)
                    {
                        return false;
                    }
                    if (contact.Uri.Raw == this.CurrentUser.Uri.Raw)
                    {
                        name = "我自己";
                    }
                }
                Label label = new Label();
                label.UseMnemonic = false;
                label.Tag = tag;
                label.Text = name;
                label.Font = new Font("SimSun", 9f, FontStyle.Underline, GraphicsUnit.Point, 0x86);
                label.Size = new Size(0x29, 12);
                label.AutoSize = true;
                this.flowPanlContacts.Controls.Add(label);
                label.MouseClick += new MouseEventHandler(this.lblContact_MouseClick);
                label.DoubleClick += new EventHandler(this.lblContact_DoubleClick);
                this.FormatSelectInfo();
            }
            catch
            {
                return false;
            }
            return true;
        }

        private void AddMySelfNode()
        {
            BuddySelectionBuddyNode buddy = new BuddySelectionBuddyNode();
            buddy.Name = "我自己";
            buddy.NickName = "我自己";
            buddy.MoodPhrase = "";
            buddy.StatusImage = new AmigoImage(ImageHelper.GetThumbnailImage(this.CurrentUser.PersonalInfo.Portrait, 0x10, 0x10));
            buddy.Tag = this.me;
            this.treeContacts.AddBuddyNode(null, buddy);
            if (this._selectedContacts.Contains(this.me))
            {
                buddy.CheckState = CheckState.Checked;
                this.CheckNode(buddy);
            }
        }

        private void BindContacts(BuddySelectionGroupNode parent, List<Imps.Client.Core.Contact> lstContacts)
        {
            lstContacts.Sort();
            foreach (Imps.Client.Core.Contact contact in lstContacts)
            {
                this.AddBuddyNode(parent, contact);
            }
        }

        private void BindGroups()
        {
            try
            {
                lock (this.CurrentUser.ContactList.Groups)
                {
                    foreach (Imps.Client.Core.ContactGroup group in this.CurrentUser.ContactList.Groups)
                    {
                        List<Imps.Client.Core.Contact> allowContacts = this.GetAllowContacts(group.Contacts.ListContacts);
                        if (allowContacts.Count > 0)
                        {
                            BuddySelectionGroupNode gNode = new BuddySelectionGroupNode(group.Name + string.Format(" ({0})", allowContacts.Count), CheckState.Unchecked);
                            gNode.Tag = group;
                            this.treeContacts.AddBuddyGroup(gNode);
                            this.BindContacts(gNode, allowContacts);
                        }
                    }
                }
                this.BindNoneGroupContacts();
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        private void bindList()
        {
            try
            {
                if (this.ShowSelf)
                {
                    this.CurrentUser.ContactList.TryFindOrCreateContactAndGetContactInfo(this.CurrentUser.Uri.Raw, out this.me, new AsyncBizOperation(), ConversationManager.ConversationNeedProperty);
                    this.AddMySelfNode();
                }
                if (this.ShowGroup)
                {
                    this.BindGroups();
                }
                else
                {
                    List<Imps.Client.Core.Contact> allowContacts = this.GetAllowContacts(this.CurrentUser.ContactList.Contacts.ListContacts);
                    this.BindContacts(null, allowContacts);
                }
                if (this.treeContacts.Nodes.Count > 0)
                {
                    this.treeContacts.SelectedNode = this.treeContacts.Nodes[0] as PaintTreeNode;
                }
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
            finally
            {
                this.lblNoneContacts.Visible = this.treeContacts.Nodes.Count == 0;
            }
        }

        private void BindNoneGroupContacts()
        {
            lock (this.CurrentUser.ContactList.Contacts.SyncRoot)
            {
                List<Imps.Client.Core.Contact> lstContacts = new List<Imps.Client.Core.Contact>();
                foreach (Imps.Client.Core.Contact contact in this.CurrentUser.ContactList.Contacts)
                {
                    if ((contact.BelongToGroups.Count == 0) && this.IsContactCanShow(contact))
                    {
                        lstContacts.Add(contact);
                    }
                }
                if (lstContacts.Count > 0)
                {
                    this.BindContacts(null, lstContacts);
                }
            }
        }

        private void CheckContactNode(Imps.Client.Core.Contact contact)
        {
            for (int i = 0; i < this.treeContacts.Nodes.Count; i++)
            {
                PaintTreeNode node = this.treeContacts.Nodes[i] as PaintTreeNode;
                if ((node.Tag is Imps.Client.Core.Contact) && ((node.Tag as Imps.Client.Core.Contact).Uri.Raw == contact.Uri.Raw))
                {
                    (node as BuddySelectionBuddyNode).CheckState = CheckState.Checked;
                    this.CheckContactNode(node);
                    return;
                }
                foreach (TreeNode node2 in this.treeContacts.Nodes[i].Nodes)
                {
                    if ((node2.Tag as Imps.Client.Core.Contact) != contact)
                    {
                        continue;
                    }
                    if (!this.treeContacts.Nodes[i].IsExpanded)
                    {
                        this.treeContacts.Nodes[i].Expand();
                    }
                    (node2 as BuddySelectionBuddyNode).CheckState = CheckState.Checked;
                    this.CheckContactNode(node2 as PaintTreeNode);
                    return;
                }
            }
        }

        private void CheckContactNode(PaintTreeNode node)
        {
            Imps.Client.Core.Contact tag = node.Tag as Imps.Client.Core.Contact;
            if ((node as BuddySelectionBuddyNode).CheckState == CheckState.Checked)
            {
                if (!this._selectedContacts.Contains(tag))
                {
                    if (this._selectedContacts.Count >= this._maxSelectedCount)
                    {
                        (node as BuddySelectionBuddyNode).CheckState = CheckState.Unchecked;
                        FormatGroupCheckState(node);
                        this._framework.UnifiedMessageBox.ShowWarning(this, string.Format(StringTable.Conversation.MsgSelectLimit, this._maxSelectedCount));
                        return;
                    }
                    this._selectedContacts.Add(tag);
                }
                this.AddLabel(tag.DisplayName, tag);
                FormatGroupCheckState(node);
                this.FormatOtherGroupBuddyNode(node.Parent, tag, true);
            }
            else
            {
                if (this._selectedContacts.Contains(tag))
                {
                    this._selectedContacts.Remove(tag);
                }
                this.RemoveLable(tag);
                FormatGroupCheckState(node);
                this.FormatOtherGroupBuddyNode(node.Parent, tag, false);
            }
        }

        private void CheckGroupNode(PaintTreeNode node)
        {
            bool flag = (node as BuddySelectionGroupNode).CheckState == CheckState.Checked;
            foreach (TreeNode node2 in node.Nodes)
            {
                Imps.Client.Core.Contact tag = node2.Tag as Imps.Client.Core.Contact;
                if (flag)
                {
                    if (this._selectedContacts.Count < this._maxSelectedCount)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜视频网站| 欧美图片一区二区三区| 精品国产露脸精彩对白 | 日韩欧美在线1卡| 亚洲成av人片一区二区三区| 色爱区综合激月婷婷| 亚洲三级在线播放| av中文字幕一区| 中文字幕在线不卡| 99久久综合精品| 国产精品福利一区二区三区| 成人一区二区三区视频在线观看| 亚洲国产精品成人综合色在线婷婷| 国产一区中文字幕| 久久久一区二区三区捆绑**| 国产高清久久久| 欧美国产日产图区| 成人久久18免费网站麻豆| 国产精品国产三级国产aⅴ无密码| 北条麻妃国产九九精品视频| 自拍偷自拍亚洲精品播放| 91亚洲国产成人精品一区二区三 | 欧美亚洲自拍偷拍| 亚洲无线码一区二区三区| 欧美日韩精品三区| 日本成人在线电影网| 欧美大片在线观看一区| 国产在线视频一区二区三区| 国产清纯在线一区二区www| 国产a区久久久| 亚洲欧洲日产国码二区| 91福利在线导航| 日日摸夜夜添夜夜添国产精品| 777久久久精品| 国产一区二区三区综合| 中文字幕精品在线不卡| 91香蕉视频在线| 午夜精品久久久久久久蜜桃app| 91精品国产乱| 国产成人精品免费看| 亚洲欧美日韩久久| 69堂成人精品免费视频| 亚洲视频 欧洲视频| 欧美人妇做爰xxxⅹ性高电影| 久久国产三级精品| 中文字幕免费不卡在线| 欧美色网一区二区| 久久99热狠狠色一区二区| 国产精品免费视频网站| 精品视频在线看| 激情久久五月天| 中文字幕一区二区三区乱码在线| 欧美亚洲一区三区| 国内外成人在线| 日韩一区有码在线| 欧美美女喷水视频| 国产91精品一区二区麻豆亚洲| 亚洲另类色综合网站| 精品蜜桃在线看| 色综合婷婷久久| 人禽交欧美网站| 国产精品高潮呻吟久久| 欧美精品123区| 成人v精品蜜桃久久一区| 亚洲成人先锋电影| 中文字幕欧美日韩一区| 欧美日韩久久久久久| 国产精品一二一区| 午夜精品久久久久久久久久| 日本一区二区三区电影| 欧美精品在线观看播放| 成人免费毛片aaaaa**| 午夜精品影院在线观看| 国产精品久久久久久亚洲毛片| 日韩一区二区麻豆国产| 99re这里都是精品| 精品一区二区三区在线视频| 亚洲自拍偷拍麻豆| 久久久久国产精品厨房| 欧美日韩不卡一区| 99免费精品在线| 久久国产剧场电影| 一区二区成人在线| 国产三级精品三级在线专区| 欧美一区二区三区成人| 色吊一区二区三区| 国产成人精品亚洲午夜麻豆| 日本不卡一区二区三区高清视频| 亚洲激情自拍偷拍| 国产女同互慰高潮91漫画| 制服丝袜成人动漫| 91香蕉视频污在线| 丰满白嫩尤物一区二区| 久久不见久久见免费视频1| 亚洲一区二区三区影院| 1000精品久久久久久久久| 久久蜜桃av一区精品变态类天堂 | 91精彩视频在线| 不卡在线观看av| 国内精品视频666| 日韩国产高清在线| 亚洲综合小说图片| 中文字幕亚洲在| 国产日韩精品久久久| 日韩你懂的在线播放| 欧美日韩免费视频| 色婷婷综合中文久久一本| 成人av资源在线| 国产精品一级片在线观看| 久久99国内精品| 麻豆一区二区99久久久久| 性久久久久久久| 亚洲影院免费观看| 亚洲欧美日韩小说| 亚洲日本丝袜连裤袜办公室| 国产日产精品一区| 精品国产成人系列| 精品欧美乱码久久久久久| 日韩一区二区视频在线观看| 欧美日韩成人综合在线一区二区| 欧美在线一区二区| 在线亚洲一区二区| 色悠久久久久综合欧美99| 99精品一区二区三区| caoporm超碰国产精品| hitomi一区二区三区精品| 国产成人精品免费一区二区| 国产99精品在线观看| 粉嫩一区二区三区在线看| 国产a区久久久| 不卡区在线中文字幕| eeuss鲁片一区二区三区在线看| 粉嫩av一区二区三区在线播放 | 97久久超碰国产精品| 99久久综合99久久综合网站| 91视频在线观看| 色婷婷国产精品| 欧美视频精品在线观看| 欧美高清性hdvideosex| 欧美疯狂做受xxxx富婆| 91精品国产aⅴ一区二区| 日韩欧美一级在线播放| 欧美va亚洲va国产综合| 久久女同精品一区二区| 久久久三级国产网站| 亚洲国产精品成人综合色在线婷婷| 国产欧美一区视频| 国产精品色婷婷| 亚洲欧美电影院| 亚洲成av人片| 美女爽到高潮91| 国产精品18久久久久久久网站| 成人综合婷婷国产精品久久免费| 91首页免费视频| 欧美在线观看一区| 91精品国产综合久久精品图片| 日韩你懂的电影在线观看| 国产日本欧美一区二区| 最新日韩av在线| 亚洲国产sm捆绑调教视频 | 日韩高清电影一区| 久久av中文字幕片| 成人午夜视频网站| 在线日韩国产精品| 91精品国产色综合久久ai换脸| 亚洲二区在线观看| 日韩欧美国产一区在线观看| 2022国产精品视频| 亚洲欧洲性图库| 亚洲成a人片综合在线| 精品一区二区日韩| 9l国产精品久久久久麻豆| 欧美人妇做爰xxxⅹ性高电影| 久久亚洲一级片| 一级做a爱片久久| 久久草av在线| 91色九色蝌蚪| 日韩视频免费观看高清完整版在线观看| 久久久久久麻豆| 亚洲一区二区三区视频在线播放 | 国产精品一线二线三线精华| 91看片淫黄大片一级在线观看| 欧美人狂配大交3d怪物一区| 亚洲国产精品精华液ab| 亚洲成人午夜影院| 国产成人综合精品三级| 欧美日韩综合一区| 久久久www免费人成精品| 一区二区三区日韩精品| 精品一区二区三区免费播放| 色综合久久99| 久久尤物电影视频在线观看| 一个色妞综合视频在线观看| 国产制服丝袜一区| 欧美在线免费视屏| 欧美国产精品一区| 日本女人一区二区三区| 91影院在线观看| 久久久久久久久久久久电影| 亚洲高清视频在线|