C #, специальное меню Menustrip, открытое, когда пользователь вошел в систему - PullRequest
1 голос
/ 12 декабря 2011

в моем menuStrip у меня есть несколько форм,

Так что в 1 из них я хочу получить доступ только тогда, когда использование передается из формы входа в систему, которую я создал ..

Позволяет сказать menustrip, меню находится в форме Form1, а форма входа - Form2,

Так как я собираюсь соединить это с тем, что форма Menustrip открыта, когда пользователь впервые проходит регистрацию form2 ..

Я ищувесь день по сети я находил только передавая переменную, а затем, если это правда, выскочит form1, но это не сработало!

Ответы [ 2 ]

2 голосов
/ 12 декабря 2011

Где-то вам понадобится статическое логическое свойство, сообщающее, если пользователь вошел в систему.

public static class Config {
    public static bool LoggedIn { get; private set; }

    public static Login ()
    {
        var frm = new frmLogin();
        if (frm.ShowDialog() == DialogResult.OK) {
            LoggedIn = frm.LoggedIn;
        }
    }
}

В frmLogin снова есть общедоступное, но на этот раз нестатическое свойство LoggedIn, который вы устанавливаете в true, если имя пользователя и пароль в порядке.

Затем в форме меню включите или отключите соответствующие пункты меню в форме Активированный обработчик события:

private void Form1_Activated(object sender, EventArgs e)
{
    myToolStripMenuItem.Enabled = Config.LoggedIn;
}
0 голосов
/ 12 декабря 2011

Хорошо думая, что я правильно понял "Вы хотите, чтобы входные данные были введены в form 1 из form2 или что-то вроде изменения чего-либо в form1 из form2"

Возможно, не самый лучший, но работает

Ну, самое простое решение, которое помогло мне до сих пор, это то, что вы

  1. Сделать menuStrip модификатор от properties до public
  2. создать экземпляр в Form1 в Form2
  3. Изменить menuStrip с Form2

например, мы можем иметь

Form2.cs

 public partial class ViewCars : Form
    {
        Form1 mainForm;
        public ViewCars (Form1 MainForm)
        {
           this.mainForm = MainForm;
        }
    }

     private void LoginButton_Click(object sender, EventArgs e)
     {
         mainForm.menuStrip.Visible = false;
     }

Теперь, когда вы создаете экземпляр Form2, вам нужно задать параметр this. * 1032 то есть *

ViewCars view = new ViewCars(this);
view.Show();

Это не ограничено элементами управления, с которыми вы можете делать что угодно Удачи

...