agrobot_base/AgroBase/AgroBase/Forms/frmEthernet.cs

60 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AgroBase.Forms
{
public partial class frmEthernet : Form
{
public frmEthernet()
{
InitializeComponent();
}
private void frmEthernet_Load(object sender, EventArgs e)
{
var interfaces = EthernetService.ObterNomesInterfaces();
cmbInterface.Items.AddRange(interfaces.ToArray());
if (interfaces.Any(x => x.Contains("Ativa")))
cmbInterface.SelectedIndex = interfaces.IndexOf(interfaces.First(x => x.Contains("Ativa")));
txtGateway.Text = EthernetService.ObterIpGateway();
txtIpAtual.Text = EthernetService.ObterIpAtual();
txtSubmask.Text = EthernetService.ObterSubnetMaskAtual();
chbIpFixo.Checked = EthernetService.ObterTipoConfiguracaoIP().Contains("Fixo");
}
private void btnDefinirIp_Click(object sender, EventArgs e)
{
string ipNovo = txtIpAtual.Text;
string gateway = txtGateway.Text;
string subnetMask = txtSubmask.Text;
// Aqui substituímos "Ethernet" pelo nome correto da interface que o PC está usando
if (chbIpFixo.Checked)
{
EthernetService.DefinirIpFixo(cmbInterface.Text, ipNovo, subnetMask, gateway);
}
else
{
EthernetService.DefinirIpDinamico(cmbInterface.Text);
}
MessageBox.Show("Configuração de IP atualizada.");
}
private void chbIpFixo_CheckedChanged(object sender, EventArgs e)
{
txtGateway.Enabled = chbIpFixo.Checked;
txtIpAtual.Enabled = chbIpFixo.Checked;
txtSubmask.Enabled = chbIpFixo.Checked;
}
}
}