基本上; Form1 有 2 个按钮,Form2 有 1 个按钮。当您单击 Form2 的按钮时,它会检查您单击了 Form1 上的哪个按钮,根据您单击的按钮(在 Form1 上)打开 Form3 或 Form4。
所以我使用了 Mark Halls 在表单之间传递变量的第一种方法。现在是我封闭改进的后半部分。
表格1
private void btnLogin_Click(object sender, EventArgs e)
{
// Call function while storing variable info.
Account("login");
}
private void btnRegister_Click(object sender, EventArgs e)
{
// Call function while storing variable info.
Account("register");
}
// Function used to pass Variable info to Account form while opening it as instance.
private void Account(string formtype)
{
// Generate/Name new instant of form.
frontend_account frmAcc = new frontend_account();
// Pass variable to instance.
frmAcc.CheckButtonClick = formtype;
// Show form instance.
frmAcc.Show(this);
// Hide this instance.
this.Hide();
}
表格2
// String Variable to store value from Login.
public string CheckButtonClick { get; set; }
private void btnContinue_Click(object sender, EventArgs e)
{
// If statement to open either Main form or Registration form, based on Login variable.
if (CheckButtonClick == "login")
{
// Generate/Name new instant of form.
frontend_main frmMain = new frontend_main();
// Show form instant.
frmMain.Show();
// Close this instant.
this.Close();
}
else if (CheckButtonClick == "register")
{
// Generate/Name new instant of form.
frontend_register frmReg = new frontend_register();
// Show form instant.
frmReg.Show();
// Close this instant.
this.Close();
}
}
在 Form2 上有两个单选按钮,我可以熟练使用该代码在打开表单时设置选项卡控件的焦点吗?IE。如果选中 radClient,则在打开 winform 后将焦点设置在 tabcontrol 上,否则如果选中 radStudent,则在打开 winform 后将焦点设置在 tabcontrol(其他页面)上......如果没有选中收音机,我想不要打开 winform。
我相信这将成为焦点;
// Sets focus to first tab.
tabRegister.SelectedTab = tabRegister.TabPages[0];
// Sets focus to second tab.
tabRegister.SelectedTab = tabRegister.TabPages[1];