好的,接下来,
我有2个表单,登录表单和主表单, 当我在主窗体上按下登录时,登录窗口就会出现。
在登录表单上,您可以创建一个帐户,文本框值在xml文件中输入并上传到ftp服务器。
如果用户名和密码正确,那么你想要登录它读取xml,然后登录表单关闭,并且在mainform标签上将变为'登录',....
我如何解决这个问题?
答案 0 :(得分:2)
您将“登录”表单作为模态打开,并根据登录成功与否返回结果。
像这样:Link
答案 1 :(得分:1)
您可以在登录表单关闭时触发事件。
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onformclosing.aspx
答案 2 :(得分:1)
我认为您遇到的问题是决定如何在登录表单和主表单之间传达用户的“已登录”和“未登录”状态。
执行此操作的一种方法是调用检查用户提供的凭据是否有效的方法或函数,并返回表示登录是否成功的值。您可以将此值存储在表单级公共Field或Property中。
然后,您可以在Main表单中编写代码,以从Login表单中读取此值以确定登录状态:
在整个主表单的其余部分中,您可以根据登录状态适当地设置控件的文本:
if (userIsLoggedIn == true)
{ label1.Text = "Logged In" }
else
{ label1.Text = "Not Logged In" }
编辑:在您的登录表单中,您定义了一个存储登录状态的属性(我们称之为IsLoggedIn)。这可以是一个简单的布尔值(true / false)。您正在从主表单打开登录表单 - 这意味着您必须具有创建登录表单的新实例并显示它的代码。像(C#):
LoginForm login = new LoginForm();
login.ShowDialog();
if (login.IsLoggedIn)
{
// update labels to Logged In
}
else
{
// update labels to not Logged In
}
在登录表单中,您的代码执行登录检查,并按如下方式存储结果:
// if successful, set logged in status to true
this.IsLoggedIn = true;