using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using NetworkRemoteControlLib; namespace RDClient { public partial class ClientMain : Form { public ClientMain() { InitializeComponent(); this.Load += ClientMain_Load; } private void ClientMain_Load(object sender, EventArgs e) { configData.LoadConfig(); BindConnectionHost(); } void BindConnectionHost() { this.trv_HostView.Nodes[0].Nodes.Clear(); foreach (ConnectionItem cItem in configData.ConnectionItemList) { TreeViewAddNode(cItem); } this.快QToolStripMenuItem.Checked = false; this.中MToolStripMenuItem.Checked = false; this.慢SToolStripMenuItem.Checked = false; switch (configData.ScreenSendFrequency) { case 0: this.快QToolStripMenuItem.Checked = true; break; case 1: this.中MToolStripMenuItem.Checked = true; break; case 2: this.慢SToolStripMenuItem.Checked = true; break; default: this.快QToolStripMenuItem.Checked = true; break; } this.高ToolStripMenuItem.Checked = false; this.中ToolStripMenuItem.Checked = false; this.低ToolStripMenuItem.Checked = false; switch (configData.ScreenImageQuality) { case 0: this.高ToolStripMenuItem.Checked = true; break; case 1: this.中ToolStripMenuItem.Checked = true; break; case 2: this.低ToolStripMenuItem.Checked = true; break; default: this.高ToolStripMenuItem.Checked = true; break; } } ConfigProcess configData = new ConfigProcess(); void AddHostNameIP() { frm_Connection connIP = new frm_Connection(); if (connIP.ShowDialog() == DialogResult.OK) { TreeViewAddNode(connIP.HostConnectionItem); configData.ConnectionItemList.Add(connIP.HostConnectionItem); configData.SaveConfig(); } } void EditHostNameIP(TreeNode cNode) { if (cNode.Tag != null) { frm_Connection connIP = new frm_Connection(); connIP.HostConnectionItem = (ConnectionItem)cNode.Tag; if (connIP.ShowDialog() == DialogResult.OK) { configData.SaveConfig(); cNode.Text = connIP.HostConnectionItem.ToString(); } } } void SetScreenSendFrequency(System.Windows.Forms.ToolStripMenuItem item) { this.快QToolStripMenuItem.Checked = false; this.中MToolStripMenuItem.Checked = false; this.慢SToolStripMenuItem.Checked = false; item.Checked = true; configData.ScreenSendFrequency = Convert.ToInt32(item.Tag.ToString()); configData.SaveConfig(); } void SetScreenImageQuality(System.Windows.Forms.ToolStripMenuItem item) { this.高ToolStripMenuItem.Checked = false; this.中ToolStripMenuItem.Checked = false; this.低ToolStripMenuItem.Checked = false; item.Checked = true; configData.ScreenImageQuality = Convert.ToInt32(item.Tag.ToString()); configData.SaveConfig(); } private void mtlsAddHost_Click(object sender, EventArgs e) { AddHostNameIP(); } void DeleteAllHost() { trv_HostView.Nodes[0].Nodes.Clear(); configData.ConnectionItemList.Clear(); configData.SaveConfig(); } private void mtlsdelAllHost_Click(object sender, EventArgs e) { DeleteAllHost(); } private void mtlsExit_Click(object sender, EventArgs e) { System.Environment.Exit(System.Environment.ExitCode); Application.ExitThread(); Application.Exit(); } private void tlsAddHost_Click(object sender, EventArgs e) { AddHostNameIP(); } private void tlsDelAllHost_Click(object sender, EventArgs e) { DeleteAllHost(); } /// /// 树形控件添加结点(连接成功的服务端IP) /// /// 连接成功的服务端IP private void TreeViewAddNode(ConnectionItem cItem) { trv_HostView.Nodes[0].Nodes.Add(cItem.ToString()); int count = trv_HostView.Nodes[0].Nodes.Count; trv_HostView.Nodes[0].Nodes[count - 1].Tag = cItem; trv_HostView.Nodes[0].Nodes[count - 1].ImageKey = "shost.png"; trv_HostView.Nodes[0].Nodes[count - 1].SelectedImageKey = "shost.png"; trv_HostView.Nodes[0].Nodes[count - 1].ContextMenuStrip = cnm_HostView; trv_HostView.Nodes[0].Nodes[count - 1].ToolTipText = cItem.DescriptionInformation; trv_HostView.Nodes[0].Expand(); } private void trv_HostView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Tag != null) { EditHostNameIP(e.Node); } } private void 修改主机ToolStripMenuItem_Click(object sender, EventArgs e) { if (this.trv_HostView.SelectedNode != null && this.trv_HostView.SelectedNode.Tag != null) { EditHostNameIP(this.trv_HostView.SelectedNode); } } private void 快QToolStripMenuItem_Click(object sender, EventArgs e) { SetScreenSendFrequency((System.Windows.Forms.ToolStripMenuItem)sender); } private void 中MToolStripMenuItem_Click(object sender, EventArgs e) { 快QToolStripMenuItem_Click(sender, e); } private void 慢SToolStripMenuItem_Click(object sender, EventArgs e) { 快QToolStripMenuItem_Click(sender, e); } private void 高ToolStripMenuItem_Click(object sender, EventArgs e) { SetScreenImageQuality((System.Windows.Forms.ToolStripMenuItem)sender); } private void 中ToolStripMenuItem_Click(object sender, EventArgs e) { 高ToolStripMenuItem_Click(sender,e); } private void 低ToolStripMenuItem_Click(object sender, EventArgs e) { 高ToolStripMenuItem_Click(sender, e); } private void 移除MToolStripMenuItem_Click(object sender, EventArgs e) { if (this.trv_HostView.SelectedNode != null && this.trv_HostView.SelectedNode.Tag != null) { this.trv_HostView.Nodes[0].Nodes.Remove(this.trv_HostView.SelectedNode); this.configData.ConnectionItemList.Remove((ConnectionItem)this.trv_HostView.SelectedNode.Tag); this.configData.SaveConfig(); } } private void 重新连接RToolStripMenuItem_Click(object sender, EventArgs e) { frmRemoteControl frmControl = new frmRemoteControl(); frmControl.TopLevel = false; frmControl.Dock = DockStyle.Fill; this.splitContainer1.Panel2.Controls.Add(frmControl); frmControl.Show(); } private void 屏幕控制PToolStripMenuItem_Click(object sender, EventArgs e) { } } }