?? invitecontrol.cs
字號:
{
(node2 as BuddySelectionBuddyNode).CheckState = CheckState.Checked;
if (!this._selectedContacts.Contains(tag))
{
this._selectedContacts.Add(tag);
if (!this.AddLabel(tag.DisplayName, tag))
{
break;
}
this.FormatOtherGroupBuddyNode(node, tag, true);
}
}
else if (!this._selectedContacts.Contains(tag))
{
(node2 as BuddySelectionBuddyNode).CheckState = CheckState.Unchecked;
if ((node as BuddySelectionGroupNode).CheckState == CheckState.Checked)
{
FormatGroupCheckState(node2 as BuddySelectionBuddyNode);
this._framework.UnifiedMessageBox.ShowWarning(this, string.Format(StringTable.Conversation.MsgSelectLimit, this._maxSelectedCount));
}
this.FormatOtherGroupBuddyNode(node2, tag, false);
}
continue;
}
if (this._selectedContacts.Contains(tag))
{
this._selectedContacts.Remove(tag);
}
this.RemoveLable(tag);
this.RemoveTreeNodeSelect(tag);
}
}
private void CheckLabel(Label label)
{
label.ForeColor = Color.White;
label.BackColor = Color.Black;
}
private void CheckNode(PaintTreeNode node)
{
try
{
if (node.Tag is Imps.Client.Core.ContactGroup)
{
this.CheckGroupNode(node);
}
else if (node.Tag is Imps.Client.Core.Contact)
{
this.CheckContactNode(node);
}
}
catch (Exception exception)
{
ClientLogger.WriteException(exception);
}
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.components != null))
{
this.components.Dispose();
}
base.Dispose(disposing);
}
private void flowPanlContacts_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyValue == 0x2e)
{
this.RemoveCheckedLabels();
}
}
private static void FormatGroupCheckState(PaintTreeNode node)
{
if (node.Parent != null)
{
bool flag = false;
bool flag2 = true;
foreach (TreeNode node2 in node.Parent.Nodes)
{
if ((node2 as BuddySelectionBuddyNode).CheckState != CheckState.Checked)
{
flag2 = false;
continue;
}
flag = true;
}
if (flag2)
{
(node.Parent as BuddySelectionGroupNode).CheckState = CheckState.Checked;
}
else if (flag)
{
(node.Parent as BuddySelectionGroupNode).CheckState = CheckState.Indeterminate;
}
else
{
(node.Parent as BuddySelectionGroupNode).CheckState = CheckState.Unchecked;
}
}
}
private void FormatOtherGroupBuddyNode(TreeNode node, Imps.Client.Core.Contact contact, bool check)
{
if (contact.BelongToGroups.Count > 1)
{
for (int i = 0; i < this.treeContacts.Nodes.Count; i++)
{
if (this.treeContacts.Nodes[i] != node)
{
if (this.treeContacts.Nodes[i] is BuddySelectionBuddyNode)
{
if (((this.treeContacts.Nodes[i] as BuddySelectionBuddyNode).Tag as Imps.Client.Core.Contact) == contact)
{
if (check)
{
(this.treeContacts.Nodes[i] as BuddySelectionBuddyNode).CheckState = CheckState.Checked;
}
else
{
(this.treeContacts.Nodes[i] as BuddySelectionBuddyNode).CheckState = CheckState.Unchecked;
}
}
}
else if (contact.BelongToGroups.Contains(((this.treeContacts.Nodes[i] as BuddySelectionGroupNode).Tag as Imps.Client.Core.ContactGroup).Id))
{
foreach (TreeNode node2 in this.treeContacts.Nodes[i].Nodes)
{
if (((node2 as BuddySelectionBuddyNode).Tag as Imps.Client.Core.Contact) != contact)
{
continue;
}
if (check)
{
(node2 as BuddySelectionBuddyNode).CheckState = CheckState.Checked;
}
else
{
(node2 as BuddySelectionBuddyNode).CheckState = CheckState.Unchecked;
}
FormatGroupCheckState(node2 as PaintTreeNode);
}
}
}
}
}
private void FormatSelectInfo()
{
int count = this._selectedContacts.Count;
this.lblSelectInfo.Text = string.Format(StringTable.Conversation.MsgInviteSelectedInfo, count, this._maxSelectedCount - count);
}
private List<Imps.Client.Core.Contact> GetAllowContacts(List<Imps.Client.Core.Contact> sourceList)
{
List<Imps.Client.Core.Contact> list = new List<Imps.Client.Core.Contact>();
foreach (Imps.Client.Core.Contact contact in sourceList)
{
if (this.IsContactCanShow(contact))
{
list.Add(contact);
}
}
return list;
}
private Label GetLabelByContact(Imps.Client.Core.Contact contact)
{
for (int i = 0; i < this.flowPanlContacts.Controls.Count; i++)
{
if ((this.flowPanlContacts.Controls[i].Tag as Imps.Client.Core.Contact) == contact)
{
return (this.flowPanlContacts.Controls[i] as Label);
}
}
return null;
}
private int GetLabelIndex(Label label)
{
for (int i = 0; i < this.flowPanlContacts.Controls.Count; i++)
{
if (this.flowPanlContacts.Controls[i] == label)
{
return i;
}
}
return -1;
}
private void InitializeComponent()
{
this.components = new Container();
this.menuDelete = new ToolStripMenuItem();
this.menuOperation = new ContextMenuStrip(this.components);
this.xSplitContainer = new XSplitContainer();
this.pnlOnlyForBorderShit = new Panel();
this.lblNoneContacts = new Label();
this.treeContacts = new BuddySelectionTree();
this.txtSearch = new XTextBox();
this.lblMessage = new Label();
this.panel1 = new Panel();
this.panel2 = new Panel();
this.flowPanlContacts = new FlowLayoutPanel();
this.lblSelectInfo = new Label();
this.menuOperation.SuspendLayout();
this.xSplitContainer.Panel1.SuspendLayout();
this.xSplitContainer.Panel2.SuspendLayout();
this.xSplitContainer.SuspendLayout();
this.pnlOnlyForBorderShit.SuspendLayout();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
base.SuspendLayout();
this.menuDelete.Name = "menuDelete";
this.menuDelete.Size = new Size(0x62, 0x16);
this.menuDelete.Text = "刪除";
this.menuDelete.Click += new EventHandler(this.menuDelete_Click);
this.menuOperation.Items.AddRange(new ToolStripItem[] { this.menuDelete });
this.menuOperation.Name = "menuOperation";
this.menuOperation.Size = new Size(0x63, 0x1a);
this.xSplitContainer.BackColor = Color.Transparent;
this.xSplitContainer.Dock = DockStyle.Fill;
this.xSplitContainer.Location = new Point(0, 0);
this.xSplitContainer.Name = "xSplitContainer";
this.xSplitContainer.Orientation = Orientation.Horizontal;
this.xSplitContainer.Panel1.BackColor = Color.Transparent;
this.xSplitContainer.Panel1.Controls.Add(this.pnlOnlyForBorderShit);
this.xSplitContainer.Panel1.Controls.Add(this.txtSearch);
this.xSplitContainer.Panel1.Controls.Add(this.lblMessage);
this.xSplitContainer.Panel1.RightToLeft = RightToLeft.No;
this.xSplitContainer.Panel1MinSize = 0x7d;
this.xSplitContainer.Panel2.BackColor = Color.Transparent;
this.xSplitContainer.Panel2.Controls.Add(this.panel1);
this.xSplitContainer.Panel2.Controls.Add(this.lblSelectInfo);
this.xSplitContainer.Panel2.RightToLeft = RightToLeft.No;
this.xSplitContainer.Panel2MinSize = 80;
this.xSplitContainer.Size = new Size(0x10d, 0x19e);
this.xSplitContainer.SplitterDistance = 0x138;
this.xSplitContainer.TabIndex = 5;
this.pnlOnlyForBorderShit.BackColor = Color.FromArgb(0xa4, 170, 220);
this.pnlOnlyForBorderShit.Controls.Add(this.lblNoneContacts);
this.pnlOnlyForBorderShit.Controls.Add(this.treeContacts);
this.pnlOnlyForBorderShit.Dock = DockStyle.Fill;
this.pnlOnlyForBorderShit.Location = new Point(0, 0x43);
this.pnlOnlyForBorderShit.Name = "pnlOnlyForBorderShit";
this.pnlOnlyForBorderShit.Padding = new Padding(1, 0, 1, 1);
this.pnlOnlyForBorderShit.Size = new Size(0x10d, 0xf5);
this.pnlOnlyForBorderShit.TabIndex = 5;
this.lblNoneContacts.AutoSize = true;
this.lblNoneContacts.BackColor = Color.White;
this.lblNoneContacts.Location = new Point(4, 7);
this.lblNoneContacts.Name = "lblNoneContacts";
this.lblNoneContacts.Size = new Size(0x7f, 13);
this.lblNoneContacts.TabIndex = 2;
this.lblNoneContacts.Text = "沒有符合您條件的好友";
this.lblNoneContacts.Visible = false;
this.treeContacts.BorderStyle = BorderStyle.None;
this.treeContacts.ContactShowMode = ShowMode.SingleRow;
this.treeContacts.Dock = DockStyle.Fill;
this.treeContacts.FullRowSelect = true;
this.treeContacts.HideSelection = false;
this.treeContacts.Indent = 20;
this.treeContacts.ItemHeight = 20;
this.treeContacts.Location = new Point(1, 0);
this.treeContacts.Name = "treeContacts";
this.treeContacts.PaintSelected = true;
this.treeContacts.SelectBorderColor = Color.FromArgb(0x83, 150, 0xc3);
this.treeContacts.SelectedNode = null;
this.treeContacts.SelectionColor = Color.BlueViolet;
this.treeContacts.ShowPlusMinus = false;
this.treeContacts.Size = new Size(0x10b, 0xf4);
this.treeContacts.Sorted = true;
this.treeContacts.TabIndex = 1;
this.txtSearch.BackColor = Color.White;
this.txtSearch.BorderStyle = BorderStyle.FixedSingle;
this.txtSearch.Dock = DockStyle.Top;
this.txtSearch.Font = new Font("Microsoft Sans Serif", 9f);
this.txtSearch.ForeColor = SystemColors.ActiveBorder;
this.txtSearch.Location = new Point(0, 0x2e);
this.txtSearch.Margin = new Padding(2, 0, 0, 0);
this.txtSearch.Name = "txtSearch";
this.txtSearch.Size = new Size(0x10d, 0x15);
this.txtSearch.TabIndex = 0;
this.txtSearch.Text = "1112";
this.lblMessage.Dock = DockStyle.Top;
this.lblMessage.Location = new Point(0, 0);
this.lblMessage.Name = "lblMessage";
this.lblMessage.Padding = new Padding(1);
this.lblMessage.Size = new Size(0x10d, 0x2e);
this.lblMessage.TabIndex = 4;
this.lblMessage.Text = "Message";
this.panel1.BackColor = Color.FromArgb(0xa4, 170, 220);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = DockStyle.Fill;
this.panel1.Location = new Point(0, 0x11);
this.panel1.Name = "panel1";
this.panel1.Padding = new Padding(1);
this.panel1.Size = new Size(0x10d, 0x51);
this.panel1.TabIndex = 3;
this.panel2.BackColor = Color.White;
this.panel2.Controls.Add(this.flowPanlContacts);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -