在C#中对表单上的对象执行方法On-Load

时间:2011-06-04 17:53:22

标签: c# .net windows winforms

E.g。该方法没有按钮来启动方法,而是自动发生,无需任何用户交互 - 自动。

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对象在表单加载时显示服务状态,而不使用按钮

3 个答案:

答案 0 :(得分:3)

编辑:鉴于您的评论,您实际上是在Form.Load事件之后吗?听起来像。订阅该事件的任何事件处理程序将在第一次显示表单时执行"。

(令人困惑的是,你的标题是关于" On-Load" 的一个对象而听起来你真的希望在时调用该方法表格已加载。)


当你在表格上输出时,你的意思并不是很清楚"但您可能希望查看TextChangedVisibleChanged事件。如果您希望在更改标签时发生某些事情,那就是

如果您在服务状态被更改时正在寻找,那么它似乎没有为此而举办的活动,我很害怕。请注意,打开枚举值而不是将其转换为字符串,降低它,然后将其与硬编码常量进行比较,它将更多更清洁。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

......我的问题是否正确? 您希望在加载对象或表单时执行一段代码? 那很容易:p

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

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

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