在C#中对窗体上的对象执行方法On Load

本文关键字:执行 对象 方法 On Load 窗体 | 更新日期: 2023-09-27 17:58:20

例如,该方法不是有一个启动方法的按钮,而是在没有任何用户交互的情况下自动执行。

private void button13_Click(object sender, EventArgs e)
{
    try
    {
        ServiceController sc = new ServiceController();
        sc.ServiceName = "Spooler";
        if (sc.Status.ToString().ToLower() == "stopped")
        {
            serviceStatusLabel.Text = "Installed but stopped";
        }
        if (sc.Status.ToString().ToLower() == "running")
        {
            serviceStatusLabel.Text = "Installed and started";
        }
    }
    catch
    {
        serviceStatusLabel.Text = "Service not installed";
    }
}

我只希望Label对象在加载表单时显示服务状态,而不使用按钮

在C#中对窗体上的对象执行方法On Load

EDIT:根据您的评论,您真的在Form.Load事件之后吗?听起来像。订阅该事件的任何事件处理程序都将在"第一次显示表单时"执行。

(令人困惑的是,你的标题谈到了对象的"On Load",而听起来你真的希望在加载表单时调用该方法。)


"当它在表单上输出时"是什么意思还不清楚,但您可能想看看TextChangedVisibleChanged事件。如果你想在标签被更改时发生一些事情。

如果您正在查找服务状态何时更改,恐怕不会引发任何事件。请注意,打开枚举值,而不是将其转换为字符串,降低它的值,然后将其与硬编码常量进行比较,这将是更干净的

。。。我答对你的问题了吗?您希望在加载对象或表单时执行一段代码吗?这很简单:p

单击设计器中的对象(或窗体),在属性驳接中,单击闪电图标,转到加载显示事件,然后双击该框。现在应该在代码视图中创建一段新的代码,如下所示:

private void Object_Load(blabla) handles Object.Load
{
}

该事件中的任何代码都将在加载或显示对象时执行。

如果为Load事件创建一个处理程序,它将在加载表单时运行。