如何从Program.cs主方法更改WinForms标签的内容?

时间:2015-06-18 23:27:42

标签: c# winforms

所以我在main方法中有一个启动例程,用于检查以确保.txt文件中有内容。

 FileInfo fInfo = new FileInfo(DataDir);
 if (fInfo.Length < 64)
 {
     //Do stuff here if file is not long enough
 }

我希望能够在我的WinForms应用程序上制作一个标签显示一些文字,我想要灰显一些控件,但我似乎找不到引用所述标签/控件或任何对象的方法以我的形式。我是初学者,我正在努力解决这个问题。

2 个答案:

答案 0 :(得分:1)

在表单中,声明bool字段并在表单的构造函数中初始化它:

public class MyForm : Form {
    private bool _fileNotLongEnough;

    public MyForm(bool fileNotLongEnough) {
         _fileNotLongEnough = fileNotLongEnough;}

现在稍后在表单中,您可以使用此字段的值来决定是否执行操作。

Main方法中,您已经构建了表单。这一次,传递bool

FileInfo fInfo = new FileInfo(DataDir);
Application.Run(new MyForm(fInfo.Length < 64));

答案 1 :(得分:1)

如果您希望能够使用Form方法处理Main()对象,则需要传入对象而不是使用new关键字。

这是您通常看到的(Visual Studio生成此代码)。

static class Program
{
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

使用表单对象可以做些什么。

static class Program
{
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form1 myForm = new Form1(); //create the object here
        //you can work with the form here
        Application.Run(myForm); //pass in the form
    }
}