所以我基本上希望用户先登录才能使用其他表单.但是,我的困境是登录框在Form2中,主窗体是Form1.
if ((struseremail.Equals(username)) && (strpasswd.Equals(password)))
{
MessageBox.Show("Logged in");
form1.Visible = true;
form1.WindowState = FormWindowState.Maximized;
}
else
{
MessageBox.Show("Wow, how did you screw this one up?");
}
Run Code Online (Sandbox Code Playgroud)
但是,Form1在登录后不会显示(因为我将其作为visble = false启动).有人可以帮忙吗?
编辑:
很棒的回应,但我的问题仍然存在.我基本上想要加载Form2 First(这很容易我运行Form1并将其设置为隐藏)但是当Form2关闭时,我也想要关闭Form1.
private void Form2_FormClosing(Object sender, FormClosingEventArgs e)
{
Form1 form1 = new Form1();
form1.Close();
MessageBox.Show("Closing");
}
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用......
thi*_*eek 10
您需要将一个表单的引用传递给另一个表单,以便可以在另一个表单中使用它.在这里,我举了两个不同形式如何相互通信的例子.此示例从另一个表单修改一个表单中的Label文本.
// 你的Form1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
frm.Show();
}
public string LabelText
{
get { return Lbl.Text; }
set { Lbl.Text = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
// 你的Form2
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form1 mainForm = null;
public Form2(Form callingForm)
{
mainForm = callingForm as Form1;
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.mainForm.LabelText = txtMessage.Text;
}
//Added later, closing Form1 when Form2 is closed.
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
mainForm.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
替代文字http://demo.ruchitsurati.net/files/frm1.png
alt text http://demo.ruchitsurati.net/files/frm2.png
归档时间: |
|
查看次数: |
8109 次 |
最近记录: |