C#在默认文本上初始化表单

时间:2015-02-09 22:56:19

标签: c#

我有表单1 标签默认设置为"公司名称"

CompanyNameLBL.Text

我在这里放了一个计时器,这样如果没有设置数据库,那么初始化数据库设置。

if (CompanyNameLBL.Text == "Company Name")
        {
            //Instantiating Timer Class
            databaseTimer.Interval = 2000; // 1000 milliseconds
            databaseTimer.Enabled = true;
            databaseTimer.Tick += new EventHandler(dbTimer);
        }

    protected void dbTimer(object source, EventArgs e)
    {
        databaseTimer.Stop();
        DatabaseSetup setupDatabase = new DatabaseSetup();
        this.Hide();
        setupDatabase.Show();
    }

我有表单2 ,这是我的数据库设置。输入正确的凭据后,我可以更改标签的名称,如下所示:

            formLogin loginScreen = new formLogin();
            loginScreen.CompanyNameLBL.Text = "a new company name";
            loginScreen.Show();

它改变了标签,但我的计时器仍然关闭。是什么给了什么?

2 个答案:

答案 0 :(得分:0)

问题在于:

formLogin loginScreen = new formLogin();

您正在创建 formLogin实例,而不是对现有实例的引用。您需要弄清楚如何在两种形式之间进行通信。一种选择是使登录结果成为DatabaseSetup表单的属性,然后在关闭表单后拉

    databaseTimer.Stop();
    DatabaseSetup setupDatabase = new DatabaseSetup();
    this.Hide();
    setupDatabase.Show();
    loginScreen.CompanyNameLBL.Text = setupDatabase.CompanyName;  // new property
    this.Show();

答案 1 :(得分:0)

我只是用

public formLogin(string dbName)

并将其传递给该变量。