/// <summary>
        /// Este evento anexara el Gtw de IPv6 a la lista
        /// La razon porla que se maneja separdo a la dirrecion es que puede
        /// ser mas dificil de manipular.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_ipv6_gt_anexar_Click(object sender, EventArgs e)
        {
            String[]           sGtw       = new String[1];
            BoxInterfasesRedes bxInterfas = (BoxInterfasesRedes)box_lista_interfases.SelectedItem;

            //Solo debe de ocurrir cuando se este trabajando con estaticas
            if (!rd_ipv6_static.Checked)
            {
                return;
            }
            sGtw[0] = ipv6_tb_gtw.Text;
            //Gtw solo cmabia si no esta en blanco
            if (!(sGtw[0].Equals("::")) && !(sGtw[0].Equals("0::0")) && !(sGtw[0].Equals("")))
            {
                ValidarOperacionInterfas(bxInterfas.SetIPv6Gateways(sGtw));
            }
        }
Exemple #2
0
        /// <summary>
        /// En este evento, se mandara a ejecutar el netsh para guardar los cambios realizados
        /// a los listados de DNS , WINS y Gateways que se requieran hacer.
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_guardar_Click(object sender, EventArgs e)
        {
            ///Hay que validar  cuales seran modificados y si es IPv4 o IPv6 (El comando de netshl al parecer cambia)
            String[] sCol;
            if (bModificado_dns)
            {
                sCol = new String[list_dns.Items.Count];
                list_dns.Items.CopyTo(sCol, 0);
                //Si no es dinamico engase todo lo que tenemos
                if (!dns_dinamico.Checked)
                {
                    if (bVersionIP)
                    {
                        nInterfaz.setDNSv4Address(sCol);
                    }
                    else
                    {
                        nInterfaz.setDNSv6Address(sCol);
                    }
                }

                /*else if ((nInterfaz.getisDHCPv4Enabled() && bVersionIP) || (nInterfaz.getisDHCPv6Enabled() && !bVersionIP))
                 *  if (bVersionIP)                     // Version4 o vervsion6?
                 *      nInterfaz.setDNSv4Address();
                 *  else
                 *      nInterfaz.setDNSv6Address();*/
                else
                {
                    MessageBox.Show("Para poder actualizar de forma dinamica los servidores DNS debe estar habilitado el DHCP");
                }
            }
            //Se supone que estos campos solo cuando son estaticos dejan qeu se escriban
            if ((nInterfaz.getisDHCPv4Enabled() && bVersionIP))  //IPv4
            {
                if (bModificado_win)
                {
                    sCol = new String[list_wins.Items.Count];
                    list_wins.Items.CopyTo(sCol, 0);

                    nInterfaz.setWINSv4Address(sCol);
                }

                if (bModificado_gtw)
                {
                    //GatewayIPAddressInformation[] Listas = new GatewayIPAddressInformation[list_gtw.Items.Count];
                    sCol = new String[list_gtw.Items.Count];
                    list_gtw.Items.CopyTo(sCol, 0);
                    nInterfaz.setGTWv4Address(sCol);
                }
            }
            else if ((nInterfaz.getisDHCPv6Enabled() && !bVersionIP))  //IPv6
            {
                if (bModificado_win && bWINSv6)
                {
                    sCol = new String[list_wins.Items.Count];
                    list_wins.Items.CopyTo(sCol, 0);

                    nInterfaz.setWINSv6Address(sCol);
                }

                if (bModificado_gtw)
                {
                    //GatewayIPAddressInformation[] Listas = new GatewayIPAddressInformation[list_gtw.Items.Count];
                    sCol = new String[list_gtw.Items.Count];
                    list_gtw.Items.CopyTo(sCol, 0);

                    nInterfaz.SetIPv6Gateways(sCol);
                }
            }
            //y al final... cerramos el  formulario ...
            this.Close();
        }