void CreateUser() { string name = ""; Core.InputBox inputbox = new Core.InputBox("新建用户", "请录入新用户的名称, 不能为空或重复.", 40, name); inputbox.ShowDialog(this); if (inputbox.Result != null) { name = inputbox.Result as string; if (name.Length > 0) { UserAndRight.User u = _e.CreateUser(name); if (u != null) { _right.ToRightRuler(u.Ruler); TreeNode node = treeView1.Nodes[KEY_TOP_USER]; TreeNode newNode = node.Nodes.Add(u.Name); newNode.Tag = u; newNode.ImageKey = "itemOfBank"; newNode.SelectedImageKey = newNode.ImageKey; } } } inputbox = null; }
void SetNodeCheckedByRightRuler(UserAndRight.User u) { this.treeView2.AfterCheck -= treeView2_AfterCheck; this.Cursor = Cursors.WaitCursor; foreach (TreeNode node in treeView2.Nodes) { if (u.IsSupper) { node.Checked = true; SetNodeChildCheckedByRightRuler(node, true); } else { UserAndRight.RightRuler r = u.Ruler.FindRight(node.Name, true) as UserAndRight.RightRuler; if (r != null) { node.Checked = r.RightState == UserAndRight.RightState.完全 ? true : false; if (node.Checked) { SetParentNodeChecked(node); } SetNodeChildCheckedByRightRuler(node, u.Ruler); } else { node.Checked = false; SetNodeChildCheckedByRightRuler(node, u.Ruler); } } } this.treeView2.AfterCheck += new TreeViewEventHandler(treeView2_AfterCheck); this.Cursor = Cursors.Default; }
void Draw() { Size sz = GetChildImageSize(); if (visibleCount > _users.Length) { visibleCount = _users.Length; } int maxSplit = 30; //int i = visibleCount * (128 + maxSplit) - maxSplit; int i = visibleCount * (sz.Width + maxSplit) - maxSplit; int left = (int)((Width - i) / 2); int top_1 = (this.Height - 32) / 2; int top_2 = (this.Height - sz.Height) / 2; for (int j = leftIndex; j < leftIndex + visibleCount && j < _users.Length; j++) { UserAndRight.User u = _users[j]; _axUser[j - leftIndex].Name = "AxUserLogo" + u.ID.ToString(); _axUser[j - leftIndex].Logo = u.Logo; _axUser[j - leftIndex].Text = u.Name; _axUser[j - leftIndex].Location = new Point(left, top_2); _axUser[j - leftIndex].Tag = u; _axUser[j - leftIndex].SenderMode = this.SenderMode; _axUser[j - leftIndex].Refresh(); _axUser[j - leftIndex].ForeColor = this.ForeColor; left = left + sz.Width + maxSplit; } }
void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.FullPath.IndexOf("用户\\") == 0) { treeView1.Enabled = false; UserAndRight.User u; if (e.Node.Tag == null) { u = new UserAndRight.User(); u.Name = e.Node.Text; _e.GetUserInfo(u); e.Node.Tag = u; } if (e.Node.Tag != null) { u = (e.Node.Tag as UserAndRight.User); label1.Text = e.Node.Text + " 的权限"; SetNodeCheckedByRightRuler(u); this.treeView2.Enabled = true; btnAllRight.Enabled = true; } else { label1.Text = ""; treeView2.Enabled = false; btnAllRight.Enabled = false; } treeView1.Enabled = true; } else { treeView2.Enabled = false; return; } }
void AxUserResize() { Size sz = GetChildImageSize(); visibleCount = (Width - (32 + 3) * 2 + 30) / ((sz.Width + 30)); this.Controls.Clear(); _axUser = new AxUserLogo[visibleCount]; for (int j = 0; j < visibleCount && j < _users.Length; j++) { UserAndRight.User u = _users[j]; _axUser[j] = new AxUserLogo(_imageSize); _axUser[j].MouseClick += new MouseEventHandler(AxUserLogoPanel_MouseClick); } this.Controls.AddRange(_axUser); }