【问题标题】:Why does the Form1_Load method not get called when the program runs为什么程序运行时没有调用Form1_Load方法
【发布时间】:2016-07-10 04:27:41
【问题描述】:

下面是位于 Form1.cs 文件中的程序的一部分,用于在程序启动时使用值填充 domainUpDown 小部件。 我在 Form1 加载时调用该方法。

Form1 在程序启动时加载,但 Form1_Load 方法从不触发。

为什么 Form1_Load 方法没有触发?

         private void BindDomainIUpDown()
        {
            for (int i = 1; i <= 999; i++)
            {
                domainUpDown1.Items.Add(i);
            }
            domainUpDown1.Text = "100";
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            BindDomainIUpDown();

        }

【问题讨论】:

  • 你订阅了那个方法吗?
  • 表单是否配置为调用方法?如果您只是从头开始创建方法并且没有将其添加到表单属性中,则不会调用它。
  • 很可能Form1.Load方法没有被你的方法处理,检查Form1.Designer.cs并确保有Form1.Load += Form1_Load这一行

标签: c# winforms


【解决方案1】:

确保 Form1_Load 方法绑定到您的事件。

您可以通过多种方式做到这一点:

1- 转到设计器 > 右键单击​​表单 > 属性 > 事件 > 检查加载旁边的 Form1_Load 是否可用。

2- 右键单击​​ Form1_Load > 查找所有引用 > 您必须在 Form1.Designer.cs 中找到一个引用

3- 使用设计器双击您的表单,如果 VS 将您转发到该方法,则它已绑定。如果 VS 创建了一个新方法Form1_Load_1 则没有绑定。

或者快速修复尝试在构造函数中绑定它:

public Form1()
{
    InitializeComponent();

    this.Load += Form1_Load;
}

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多