private void ValidateIP(object sender, CancelEventArgs e) { var mb = (MaskedTextBox)sender; string ip = Regex.Replace(mb.Text, @"\s+", ""); if (ip.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries).Length == 4) { IPAddress ipAddr; if (IPAddress.TryParse(ip, out ipAddr)) { // valid IP IPerrorProvider.SetError(mb, String.Empty); } else { // invalid IP IPerrorProvider.SetError(mb, "Invalid IP entered"); } } else { // invalid IP IPerrorProvider.SetError(mb, "Invalid IP entered"); } }
private void SwapDNS() { if (NIC_select.SelectedIndex != -1 && string.IsNullOrEmpty(IPerrorProvider.GetError(DNS_1)) && string.IsNullOrEmpty(IPerrorProvider.GetError(DNS_2))) { // Get current DNS server IPAddress DNS_servers = NetworkManagement.getDNS(NIC_select.SelectedItem.ToString()); if (DNS_servers.Equals(IPAddress.Parse(Regex.Replace(DNS_1.Text, @"\s+", "")))) { callSwapDNS(NIC_select.SelectedItem.ToString(), Regex.Replace(DNS_2.Text, @"\s+", "")); IPAddress ip = NetworkManagement.getDNS(NIC_select.SelectedItem.ToString()); if (ip.Equals(IPAddress.Parse(Regex.Replace(DNS_2.Text, @"\s+", "")))) { taskBarIcon.Icon = Resource1.icon_blue; Icon = Resource1.icon_blue; changeToggleBtnPosition(true); } else { taskBarIcon.Icon = Resource1.error; } } else if (DNS_servers.Equals(IPAddress.Parse(Regex.Replace(DNS_2.Text, @"\s+", "")))) { callSwapDNS(NIC_select.SelectedItem.ToString(), Regex.Replace(DNS_1.Text, @"\s+", "")); if (NetworkManagement.getDNS(NIC_select.SelectedItem.ToString()).Equals(IPAddress.Parse(Regex.Replace(DNS_1.Text, @"\s+", "")))) { taskBarIcon.Icon = Resource1.icon_red; Icon = Resource1.icon_red; changeToggleBtnPosition(false); } else { taskBarIcon.Icon = Resource1.error; } } else { MessageBox.Show("Couldn't find any of the given DNS servers configured on the selected network interface", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } NetworkManagement.FlushDNSCache(); } else { MessageBox.Show("Please select a network interface and enter 2 valid IPs", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }