启动画面 - 访问标签和进度条
Splashscreen - Accessing Label and Progressbar
我在从 splashScreen 访问 ProgressBar 和某个 Label 时遇到了一些问题。我为屏幕制作了自己的表格。在我的 Form1 中,我有以下方法:
private void sign_Click(object sender, EventArgs e)
{
splashScreen splScreen = new splashScreen();
Thread thrd = new Thread(new ThreadStart(loadingScreenStart));
thrd.Start();
splScreen.percentage.Text = "0%";
var logIn = new LogIn(this);
logIn.checkUserInput(this);
thrd.Abort();
}
public void loadingScreenStart()
{
Application.Run(new splashScreen());
}
在我的登录 class 我做了:
public String checkUserInput(object sender)
{
splashScreen splScreen = new splashScreen();
//won't change my Label and PrpgressBar
我知道这可能是因为我创建了一个新的 Form 实例,所以它是空的,但如何正确执行此操作?我不知道...希望有人能帮助我。
我也有同样的要求,我需要使用相同的对象,但有一个限制,我不能使用静态 class。为此,我创建了 class 的静态对象并使用了锁。试试是否能解决您的需求。
private static splashScreen m_instance = null;
private static object m_instanceLock = new object();
public static splashScreen GetInstance()
{
lock (m_instanceLock)
{
if (m_instance == null)
{
m_instance = new splashScreen();
}
}
return m_instance;
}
无论何时你想创建对象或访问已经创建的对象,你只需要给出 as:
SomeClass someobj= SomeClass.GetInstance();
我在从 splashScreen 访问 ProgressBar 和某个 Label 时遇到了一些问题。我为屏幕制作了自己的表格。在我的 Form1 中,我有以下方法:
private void sign_Click(object sender, EventArgs e)
{
splashScreen splScreen = new splashScreen();
Thread thrd = new Thread(new ThreadStart(loadingScreenStart));
thrd.Start();
splScreen.percentage.Text = "0%";
var logIn = new LogIn(this);
logIn.checkUserInput(this);
thrd.Abort();
}
public void loadingScreenStart()
{
Application.Run(new splashScreen());
}
在我的登录 class 我做了:
public String checkUserInput(object sender)
{
splashScreen splScreen = new splashScreen();
//won't change my Label and PrpgressBar
我知道这可能是因为我创建了一个新的 Form 实例,所以它是空的,但如何正确执行此操作?我不知道...希望有人能帮助我。
我也有同样的要求,我需要使用相同的对象,但有一个限制,我不能使用静态 class。为此,我创建了 class 的静态对象并使用了锁。试试是否能解决您的需求。
private static splashScreen m_instance = null;
private static object m_instanceLock = new object();
public static splashScreen GetInstance()
{
lock (m_instanceLock)
{
if (m_instance == null)
{
m_instance = new splashScreen();
}
}
return m_instance;
}
无论何时你想创建对象或访问已经创建的对象,你只需要给出 as:
SomeClass someobj= SomeClass.GetInstance();