/// <summary> /// Se encarga de poblar el listbox correspondiente al DNS /// </summary> /// <returns></returns> private int PoblarTabla_DNS() { IPAddressCollection ipDNS; if (bVersionIP == bWorking_IPv4) { ipDNS = nInterfaz.getDNSv4Address(); } else { ipDNS = nInterfaz.getDNSv6Address(); } list_dns.BeginUpdate(); list_dns.Items.Clear(); //SI, SOLO SI la lista no esta vacia! if (ipDNS == null) { list_dns.Items.Add("No hay informacion"); //Es peligroso si el usuario intenta anexar info //ya que estamos ante un potecial riesgo de daño panel_dns.Enabled = false; return(1); } else { for (int iC = 0; iC < ipDNS.Count; iC++) { //Este conjunto de dirreciones pueden estar mezcladas en distintos //protoclos L3 (IPv4 e IPv6) solo queremos un tipo y solo ese tipo if (nInterfaz.ConfirmarTipoIP(ipDNS[iC], bVersionIP)) { list_dns.Items.Add(ipDNS[iC].ToString()); } } } //Ahora, debemos decidir si el usuario puede o no editar esta informacion //regla basica: Si hay ip fija, el usuario puede editar if (bVersionIP == bWorking_IPv4) { if (!(nInterfaz.getisDHCPv4Enabled()) || bModificable_DHCP) { panel_dns.Enabled = true; } else { panel_dns.Enabled = false; } } else //IPv6 if (!(nInterfaz.getisDHCPv6Enabled()) || bModificable_DHCP) { panel_dns.Enabled = true; } else { panel_dns.Enabled = false; } list_dns.Update(); list_dns.ClearSelected(); list_dns.EndUpdate(); return(1); }