亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产最新精品精品你懂的| 一区二区三区产品免费精品久久75| 中文字幕av在线一区二区三区| 中文字幕第一区综合| 全国精品久久少妇| 日本韩国精品在线| 久久精品视频网| 免费成人美女在线观看.| 91免费看`日韩一区二区| 精品国免费一区二区三区| 亚洲另类一区二区| 成人美女在线视频| 久久久久久免费| 蜜桃精品在线观看| 精品视频一区三区九区| 亚洲婷婷综合色高清在线| 国产剧情一区二区三区| 欧美成人一区二区三区| 午夜久久久久久久久 | 婷婷成人激情在线网| 91色.com| 成人欧美一区二区三区视频网页 | 色噜噜狠狠一区二区三区果冻| 久久久精品一品道一区| 久久av中文字幕片| 日韩一级片在线播放| 天堂一区二区在线免费观看| 欧美手机在线视频| 一区二区三区在线观看国产| 91视频xxxx| 亚洲一二三四区不卡| 成人综合婷婷国产精品久久免费| 久久久久久免费毛片精品| 国产成人免费9x9x人网站视频| 精品国产一区二区精华| 激情综合色综合久久综合| 日韩欧美一二三四区| 麻豆精品在线视频| 精品国产麻豆免费人成网站| 久久99国产精品成人| 久久在线观看免费| 丁香六月综合激情| 国产喷白浆一区二区三区| 国产伦精一区二区三区| 欧美激情一区不卡| 91女厕偷拍女厕偷拍高清| 亚洲一区二区三区激情| 欧美一区二区三区色| 蜜桃视频在线一区| 久久久99精品久久| 91免费视频网址| 三级精品在线观看| 日韩精品最新网址| 成人免费毛片app| 一区二区三区电影在线播| 欧美一区二区三区人| 国产精品主播直播| 亚洲女同ⅹxx女同tv| 3d成人h动漫网站入口| 国产精品一区二区在线播放 | jlzzjlzz亚洲日本少妇| 亚洲精品免费在线播放| 欧美一区二区三区色| 不卡的av在线| 日本中文字幕一区| 国产精品久久久久aaaa| 69堂国产成人免费视频| 丰满亚洲少妇av| 五月婷婷久久丁香| 国产亚洲欧美日韩俺去了| 色8久久人人97超碰香蕉987| 青青草原综合久久大伊人精品优势| 国产视频一区不卡| 欧美精品777| 成人18视频在线播放| 蜜乳av一区二区三区| 亚洲女人****多毛耸耸8| 欧美一区二区三区四区五区| 成人一区二区三区中文字幕| 日韩专区中文字幕一区二区| 国产日韩在线不卡| 日韩视频中午一区| 色偷偷久久人人79超碰人人澡| 六月丁香综合在线视频| 亚洲男人天堂av| 国产亚洲美州欧州综合国| 欧美性一级生活| 成人手机在线视频| 久久99精品国产.久久久久久| 亚洲免费电影在线| 久久亚洲影视婷婷| 日韩视频一区二区三区在线播放| 91丨九色丨黑人外教| 国产91丝袜在线观看| 美国精品在线观看| 无码av免费一区二区三区试看 | 欧美精品乱人伦久久久久久| 国产一区二区三区日韩| 91黄色在线观看| 国产福利一区二区| 另类人妖一区二区av| 亚洲国产精品视频| 亚洲视频小说图片| 国产精品网站导航| 国产日韩欧美一区二区三区乱码| 欧美一级在线观看| 宅男噜噜噜66一区二区66| 欧洲一区在线观看| 在线观看日韩av先锋影音电影院| 97成人超碰视| 91日韩一区二区三区| eeuss鲁片一区二区三区在线观看| 国产一区欧美日韩| 国产精品亚洲一区二区三区妖精| 久久精品免费观看| 激情小说亚洲一区| 国产综合色精品一区二区三区| 久久国产精品第一页| 久色婷婷小香蕉久久| 美女一区二区三区在线观看| 免费久久精品视频| 久久99久久久欧美国产| 精品在线播放午夜| 国产精品一区一区| 成人激情视频网站| 色婷婷久久久久swag精品| 欧美亚洲丝袜传媒另类| 欧美日韩激情一区| 日韩欧美精品三级| 国产午夜精品一区二区| 国产女人18水真多18精品一级做| 国产精品久久久久9999吃药| 亚洲精品第1页| 日韩二区在线观看| 韩国三级电影一区二区| 成人午夜av在线| 欧美在线啊v一区| 欧美一二三四区在线| 久久久综合九色合综国产精品| 欧美激情中文不卡| 一二三四区精品视频| 青青草91视频| 成人性生交大片免费看视频在线 | 毛片基地黄久久久久久天堂| 久久99久久99精品免视看婷婷| 国产成人8x视频一区二区| 91美女视频网站| 欧美一级xxx| 国产精品九色蝌蚪自拍| 午夜av区久久| 成人在线综合网站| 色猫猫国产区一区二在线视频| 日韩一区二区在线观看| 国产精品伦一区| 美女视频第一区二区三区免费观看网站| 国产精品一区三区| 欧美日韩不卡一区二区| 久久久久久99久久久精品网站| 亚洲免费电影在线| 国产成人精品网址| 欧美福利一区二区| 国产精品成人一区二区艾草| 青青草伊人久久| 色婷婷久久综合| 国产午夜精品一区二区三区四区| 亚洲福利一区二区三区| 国产99久久久久久免费看农村| 欧美蜜桃一区二区三区| 中文字幕色av一区二区三区| 久久国产精品色| 91麻豆精品国产自产在线 | 国产亲近乱来精品视频| 日日夜夜一区二区| 一本一道久久a久久精品 | 精品欧美乱码久久久久久1区2区| 中文无字幕一区二区三区| 首页国产欧美日韩丝袜| 色综合久久九月婷婷色综合| 国产视频在线观看一区二区三区 | 午夜久久福利影院| 色悠久久久久综合欧美99| 中文字幕电影一区| 国产精品中文字幕一区二区三区| 欧美精品久久一区| 亚洲成人自拍偷拍| 在线日韩国产精品| 亚洲色图欧洲色图| 99热99精品| 国产精品福利一区| 成人免费视频免费观看| 国产日韩欧美在线一区| 国产美女主播视频一区| 久久夜色精品国产噜噜av | 26uuu国产电影一区二区| 青草av.久久免费一区| 日韩视频永久免费| 精品一区二区三区的国产在线播放 | 亚洲精品在线免费播放| 久久国产婷婷国产香蕉| 欧美电影免费观看高清完整版 |