我现在用C#做程序,遇到一个问题,请教一下:使用NetworkChange.NetworkAvailabilityChanged事件侦测网络变化,把代码放在静态方法中能成功。但放在主界面中却不能成功。
以下代码成功:
static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            NetworkChange.NetworkAddressChanged += new  NetworkAddressChangedEventHandler(AddressChangedCallback);
            Application.Run(new Form1());
        }
        
        static void AddressChangedCallback(object sender, EventArgs e)
        {
            MessageBox.Show("recieved");
        }
以下代码运行不成:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            label1.Text = "network is in service.";
            NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(networkchanged);
        }
        public void networkchanged(object sender, NetworkAvailabilityEventArgs e)
        {
            //if (e.IsAvailable) label1.Text = "network is in service.";
            //else label1.Text = "network is out service.";
            label1.Text = "network is out service.";
        }
不知怎么解决。