C# C根据默认文本初始化表单
我的表格1的标签默认设置为“公司名称”C# C根据默认文本初始化表单,c#,C#,我的表格1的标签默认设置为“公司名称” CompanyNameLBL.Text 我在这里放置了一个计时器,以便在数据库未设置时初始化数据库设置 if (CompanyNameLBL.Text == "Company Name") { //Instantiating Timer Class databaseTimer.Interval = 2000; // 1000 milliseconds database
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();
它改变了标签,但我的计时器仍然会响。给出了什么?问题在于:
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();
我只是用
public formLogin(string dbName)
并通过那个变量传递它