private MultiPagePanel AddSftpUserPage() { var page = new MultiPagePanel() { Name = "pn_sftp", Size = this.pn_main.Size, BackColor = Color.Purple }; return(page); }
private MultiPagePanel AddSshUserPage() { var page = new MultiPagePanel() { Name = "pn_ssh", Size = this.pn_main.Size, }; pn_btns = new Panel() { Dock = DockStyle.Top, Location = new Point(0, 0), Name = "pn_btns", Size = new Size(781, 40), BackColor = Color.FromArgb(((int)(((byte)(7)))), ((int)(((byte)(38)))), ((int)(((byte)(59))))), AutoScroll = true, }; page.AddPage(pn_btns); var pn_separator = new Panel() { BackColor = Color.White, Dock = DockStyle.Top, Location = new Point(0, 40), Name = "pn_separator", Size = new Size(781, 3), }; page.AddPage(pn_separator); pn_consoles = new MultiPagePanel() { Dock = DockStyle.Fill, Location = new Point(0, 43), Name = "pn_consoles", Size = new Size(781, 567) }; page.AddPage(pn_consoles); return(page); }
private void AddSftpUser() { MultiPagePanel userPanel = null; foreach (var item in this.pn_main.Controls) { if (item is MultiPagePanel ctrl) { if (ctrl.Name == "pn_sftp") { userPanel = ctrl; } } } if (userPanel == null) { userPanel = AddSftpUserPage(); } this.pn_main.AddPage(userPanel); }
private void AddSshUser(Client client) { MultiPagePanel userPanel = null; foreach (var item in this.pn_main.Controls) { if (item is MultiPagePanel ctrl) { if (ctrl.Name == "pn_ssh") { userPanel = ctrl; } } } if (userPanel == null) { userPanel = AddSshUserPage(); } foreach (var item in userPanel.Controls) { if (item is Panel ctrl) { if (ctrl.Name == "pn_btns") { client.TabHeader = new TabButton() { //Name = $"tab_{count}", FlatStyle = FlatStyle.Flat, Size = new Size(100, ctrl.Height), BackColor = Color.FromArgb(((int)(((byte)(7)))), ((int)(((byte)(38)))), ((int)(((byte)(59))))), Dock = DockStyle.Left, Font = new Font("D2Coding", 8F), ForeColor = Color.White, Text = $"{client.UserName}@{client.IP}", }; client.TabHeader.FlatAppearance.BorderColor = Color.White; client.TabHeader.FlatAppearance.MouseOverBackColor = Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(132)))), ((int)(((byte)(142))))); client.TabHeader.MouseDown += ChangeTabPage; ctrl.Controls.Add(client.TabHeader); } else if (ctrl.Name == "pn_consoles") { string mark = string.Empty; if (client.UserName == "root") { mark = "#"; } else { mark = "$"; } client.Console = new MyRichTextBox() { //Name = $"console_{count}", Dock = DockStyle.Fill, BackColor = Color.Black, ForeColor = Color.White, Font = new Font("Consolas", 11, FontStyle.Regular), ID = $"[{client.UserName}@dev1 ~]{mark} ", Client = client, }; client.Console.KeyPress += ConsoleInputEvent; client.Console.KeyDown += InputCancellation; //NOTE: Restrict movement of cursor. client.Console.SelectionChanged += (s, e1) => { if (s is MyRichTextBox mrtb) { mrtb.SelectionStart = mrtb.TextLength; } }; client.Console.AppendText(client.Console.ID); client.Console.MinSelection = client.Console.SelectionStart; (ctrl as MultiPagePanel).AddPage(client.Console); } } } this.pn_main.AddPage(userPanel); if (clients == null) { clients = new List <Client>(); } client.ID = Guid.NewGuid().ToString(); clients.Add(client); if (this.pn_batch != null) { this.pn_batch.AddItem(clients); } ChangeTabHeaderColor(client.TabHeader); //count++; }