个人以为winform的Activated事件是在窗体激活时触发,但发现:
        private void FrmStudent_Activated(object sender, EventArgs e)
        {
            MessageBox.Show("active");
        }
在窗体显示时会不断的出现对话框,只好强制结束程序。
不知Activated事件为什么会反复触发?这个事件究竟用在哪里合适?

解决方案 »

  1.   

    这是窗体激活事件  就是当窗体获得当前操控权(不是官方说法)时激发该事件  你不断对弹出窗口的按确定  使得窗体重新获得操控权激活窗体  重复发生该事件  你可以用下面的代码测试下private void FrmStudent_Activated(object sender, EventArgs e)
      {
         textBox1.Text = DateTime.Now.Second.ToString();  
      }将窗体最小化  然后最大化可以看到 文本框中的时间在变化    而当窗体显示时  你最大化窗体和正常大小来回切换 时间是不会变化的  因为窗体始终处于一种状态 
     
      

  2.   

    点击菜单时, 是 activated 的,但是后面还有别的事件,比如: size_changed 事件