C# - 加载事件不在第二个窗体上触发

时间:2014-06-04 13:45:39

标签: c# .net

我希望在表单上加载时检查一个基本复选框,这在我的主要表单中工作非常完美。但是当我尝试在我的第二个窗体上执行相同操作时(从按钮调用),没有任何反应。没有语法错误。

以下是从按钮开始第二个表单的代码(记住加载事件在此表单中处理完美)

private void button1_Click_1(object sender, EventArgs e)
{
    Analyser f2 = new Analyser();
    f2.StartPosition = FormStartPosition.CenterParent;
    f2.ShowDialog(); // Shows Form2
}

完整的第二种形式:

// Include libraries
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;

// Define and start the form
namespace Vis_Maskininformasjon
{
    public partial class Analyser : Form
    {
        public Analyser()
        {
            InitializeComponent();
        }

        // On Form Load
        public void Analyser_Load(object sender, EventArgs e)
        {
            checkBox3.Checked = true;
        }

        // Checkboxes            
        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
        }

        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
        }    
    }
}

1 个答案:

答案 0 :(得分:0)

加载事件应该触发,否则会出现问题。您是否可以尝试在InitializeComponent方法中设置Load事件的行设置断点,当您到达此断点时,将此属性添加到监视中:

this.IsHandleCreated

THIS.VISIBLE

此时两者都应该是假的。如果其中一个是真的,你可能在初始化中有一些代码(或一个事件),它显示了设置load事件的形式。

似乎有人能够在http://social.msdn.microsoft.com/Forums/vstudio/en-US/53cf3329-d603-44c8-a5de-ac28b4d89111/form-load-event-not-firing?forum=csharpgeneral

解决此类行为