mirror of
https://github.com/netchx/netch.git
synced 2026-03-18 18:13:21 +08:00
80 lines
2.7 KiB
C#
80 lines
2.7 KiB
C#
using System;
|
|
using System.Net;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Netch.Forms
|
|
{
|
|
public partial class GlobalBypassIPForm : Form
|
|
{
|
|
public GlobalBypassIPForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void GlobalBypassIPForm_Load(object sender, EventArgs e)
|
|
{
|
|
Text = Utils.i18N.Translate(Text);
|
|
AddButton.Text = Utils.i18N.Translate(AddButton.Text);
|
|
DeleteButton.Text = Utils.i18N.Translate(DeleteButton.Text);
|
|
ControlButton.Text = Utils.i18N.Translate(ControlButton.Text);
|
|
|
|
IPListBox.Items.AddRange(Global.Settings.BypassIPs.ToArray());
|
|
|
|
for (var i = 32; i >= 1; i--)
|
|
{
|
|
PrefixComboBox.Items.Add(i);
|
|
}
|
|
PrefixComboBox.SelectedIndex = 0;
|
|
}
|
|
|
|
private void GlobalBypassIPForm_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
Global.SettingForm.Show();
|
|
}
|
|
|
|
private void AddButton_Click(object sender, EventArgs e)
|
|
{
|
|
if (!string.IsNullOrEmpty(IPTextBox.Text))
|
|
{
|
|
if (IPAddress.TryParse(IPTextBox.Text, out var address))
|
|
{
|
|
IPListBox.Items.Add(string.Format("{0}/{1}", address, PrefixComboBox.SelectedItem));
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(Utils.i18N.Translate("Please enter a correct IP address"), Utils.i18N.Translate("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(Utils.i18N.Translate("Please enter an IP"), Utils.i18N.Translate("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
|
|
private void DeleteButton_Click(object sender, EventArgs e)
|
|
{
|
|
if (IPListBox.SelectedIndex != -1)
|
|
{
|
|
IPListBox.Items.RemoveAt(IPListBox.SelectedIndex);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(Utils.i18N.Translate("Please select an IP"), Utils.i18N.Translate("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
|
|
private void ControlButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.Settings.BypassIPs.Clear();
|
|
foreach (var ip in IPListBox.Items)
|
|
{
|
|
Global.Settings.BypassIPs.Add(ip as string);
|
|
}
|
|
|
|
Utils.Configuration.Save();
|
|
MessageBox.Show(Utils.i18N.Translate("Saved"), Utils.i18N.Translate("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
Close();
|
|
}
|
|
}
|
|
}
|