用户控件中的事件不会引发

发布于 2024-12-28 05:45:49 字数 394 浏览 1 评论 0原文

我有一个包含网格和一些按钮的用户控件。 我为用户控件声明 GridAfterRowActivate 事件:

public event EventHandler GridAfterRowActivate;
private void Grid_AfterRowActivate(object sender, EventArgs e)
{
    if (GridAfterRowActivate != null)
        GridAfterRowActivate(sender, e);
}

我将此用户控件添加到我的表单中。当我在表单构造函数中填充网格时, GridAfterRowActivate 事件不会引发。但是当我在 Form_Load 中填充网格时,此事件正常工作。

I have a User Control that contains a grid and some buttons.
I declare GridAfterRowActivate event for User Control:

public event EventHandler GridAfterRowActivate;
private void Grid_AfterRowActivate(object sender, EventArgs e)
{
    if (GridAfterRowActivate != null)
        GridAfterRowActivate(sender, e);
}

I added this User Control to my form. When I fill grid in form constructor, GridAfterRowActivate event does not raise. But when I fill grid in Form_Load, this event works correctly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫负雪 2025-01-04 05:45:49

我想这是因为您在构造函数中填充了控件,但直到页面的 PreInit 之后才调用控件的 Init 事件。您应该最早在页面的 Init 事件中填充该控件。

I'd imagine that it's because you filled the control in the constructor, but the control's Init event isn't called until after the page's PreInit. You should fill the control at the earliest on the page's Init event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文