📄 proxyservermanagement.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace APLib.Windows.Control
{
/// <summary>
/// 代理管理器窗体类
/// 添加、删除、修改代理服务器列表
/// </summary>
partial class ProxyServerManagement : Form
{
/// <summary>
/// 代理服务器列表对象
/// </summary>
private WebBrowserController.WebProxy proxy;
/// <summary>
/// 构造函数
/// </summary>
public ProxyServerManagement()
{
InitializeComponent();
proxy = WebBrowserController.WebProxy.GetInstance();
proxy.ProxyServerAdded += new WebBrowserController.WebProxy.ProxyEventHandler(proxy_ProxyServerAdded);
proxy.ProxyServerRemoved += new WebBrowserController.WebProxy.ProxyEventHandler(proxy_ProxyServerRemoved);
}
#region WebProxy事件
private void proxy_ProxyServerRemoved(object param)
{
string server = param as string;
int i = listServer.Items.IndexOf(server);
if (i >= 0)
{
listServer.Items.Remove(server);
if (i >= listServer.Items.Count)
i--;
if (i >= 0)
listServer.SelectedIndex = i;
}
}
private void proxy_ProxyServerAdded(object param)
{
string server = param as string;
if (!listServer.Items.Contains(server))
listServer.SelectedIndex = listServer.Items.Add(server);
}
#endregion
/// <summary>
/// 添加代理服务器
/// </summary>
private void Add()
{
string server = string.Format("{0}:{1}", textIP.Text.Trim(), textPort.Text.Trim());
if (server.Length > 3)
proxy.AddServer(server);
}
/// <summary>
/// 删除代理服务器
/// </summary>
private void Delete()
{
int i = listServer.SelectedIndex;
if (listServer.SelectedItem != null)
{
string server = listServer.SelectedItem as string;
proxy.RemoveServer(server);
}
}
private void ProxyServerManagement_Load(object sender, EventArgs e)
{
string[] server = proxy.GetAllServer();
listServer.Items.Clear();
foreach (string s in server)
listServer.Items.Add(s);
}
#region 控件事件
private void listServer_SelectedIndexChanged(object sender, EventArgs e)
{
string server = listServer.SelectedItem as string;
if (server != null)
{
string[] p = server.Split(':');
if (p.Length > 1)
{
textIP.Text = p[0];
textPort.Text = p[1];
}
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
Add();
}
private void btnDel_Click(object sender, EventArgs e)
{
Delete();
}
private void btnUpdate_Click(object sender, EventArgs e)
{
if ((listServer.SelectedItem != null) && (textIP.Text.Length > 0) && (textPort.Text.Length > 0))
{
Delete();
Add();
}
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -