У меня есть две формы. Один из них - MainForm, который является родителем MDI и имеет ToolStripFile, который установлен на enabled = false
при загрузке MainForm, а другая форма - form2, которая является дочерним MDI и служит моей регистрационной формой. Если вход успешно завершен, ToolStripFile должен быть enabled = true
. У меня есть этот код, но он не работает:Отключить элементы управления из другой формы
private void btnLogin_Click(object sender, EventArgs e)
{
MainForm mf = new MainForm();
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "SELECT * FROM Employees WHERE Username = @Username AND Passcode = @Passcode";
command.Parameters.AddWithValue("@Username", txtUsername.Text);
command.Parameters.AddWithValue("@Passcode", txtPassword.Text);
OleDbDataReader reader = command.ExecuteReader();
int count = 0;
while (reader.Read())
{
count = count + 1;
}
if (count == 1)
{
Employees emp = new Employees();
//emp.MdiParent = this.MdiParent;
//emp.Show();
mf.ToolStripFile.enabled = true;
this.Dispose();
}
if (count > 1)
{
MessageBox.Show("There is a duplicate in username and password.");
}
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex, "LOGIN");
}
finally
{
connection.Close();
}
}
Что вы получаете именно от выполнения этого кода ? Что не работает? Отображается ли 'mf'? (Я не вижу 'mf.Show()') –
Вы отключите вновь созданный MainForm, который не может работать. Вместо этого вы должны передать ссылку на ваш исходный MainForm на «form2». – Robert