为什么当我在文本框中更改代理时,代理没有更改?C# .NET.

本文关键字:代理 NET 文本 为什么 | 更新日期: 2023-09-27 17:56:02

我目前正在玩代理,它工作得很好,一切都按计划完美运行,除了我的应用程序似乎对文本框没有反应的小问题。

正如您在下面的代码中看到的,我正在更改注册表中的代理设置,当我拥有这样的代理设置时,它工作得很好。

注册表。SetValue("ProxyServer", 201.48.34.200:3128);

但是,如果我将其更改为此内容,并在文本框本身(proxyIP.Text)中输入相同的IP和端口,则不会更改注册表中的代理。 任何想法可能导致这种情况的原因是什么?我尝试调试,但它没有显示任何异常。

注册表。SetValue("ProxyServer", proxyIP.Text);

using Microsoft.Win32;
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;
using System.Runtime.InteropServices;
namespace ProxyTesting
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software''Microsoft''Windows''CurrentVersion''Internet Settings", true);
            registry.SetValue("ProxyEnable", 1);
            registry.SetValue("ProxyServer", proxyIP.Text);
        }
        private void navigateButton_Click(object sender, EventArgs e)
        {
            this.webBrowser1.Navigate(navBox.Text);
        }
    }
}

为什么当我在文本框中更改代理时,代理没有更改?C# .NET.

您正在对 Form_Load() 进行工作,这意味着它只会在加载表单时运行代码。加载表单后所做的任何更改都不会更改值。

您需要处理其他事件,例如单击按钮(即添加保存按钮)或Form_Close