2013-04-15 1 views
2

Я создал две формы loginform и mainform. Форма входа - это моя программа запуска, которая проверяет правильность имени пользователя и пароля, затем откроет основную форму, но проблема заключается в том, что основная форма открыта. Форма входа по-прежнему находится на задней части основной формы.Как закрыть регистрационную форму при появлении основной формы?

В моей btnSubmit_Click в моем loginform я попробовал другую команду this.Hide(), this.Close(), this.Disposed(), а также в MainForm на нагрузке Я также выполнить эти команды, чтобы закрыть loginform, но не везло до сих пор не существует, я не могу переместить его или закрыть его вручную ,

loginform - это моя программа запуска.

static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary> 
     [STAThread] 
     public static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      Application.Run(new frmLog()); 
     } 

Пожалуйста, помогите мне с этой проблемой.

+0

frmlog является LoginForm жаль переименовать его, я просто wan't, чтобы сделать его более четким. – user2262382

+0

Я использую C# windows form vissual studio 2010 express edition. – user2262382

+0

Попробуйте [this] (http://stackoverflow.com/questions/8974599/c-sharp-opening-a-new-form-and-closing-the-other-one) ответ: C# Открытие новой формы и закрытие другой. –

ответ

1

простым решением было бы установить вашу регистрационную форму на переменную и установить общедоступные свойства с результатом входа в систему, а затем сделать еще одно приложение Application.Run в своей основной форме чуть ниже вашего приложения. Запустите форму регистрации. вам придется либо вызвать ваш метод закрытия в форме входа в систему, либо установить свойство dialogresult, чтобы закрыть форму входа и перейти к основной форме.

1

Если вы собираетесь снова использовать форму для входа в систему, то u должен скрывать форму для входа.

mainform mf = new mainform(); 
mf.Tag = this; 
mf.Show(); 
this.Hide(); 

и показать форму входа снова

var log = this.Tag as frmLog; 
log.Show(); 
1

просто создать новый объект после проверки учетных данных пользователя и скрыть предыдущую, а bewlo:

private void btnLogin_Click(object sender, EventArgs e) 
{ 
    //after successfull validation 
    mainform objMainform = new mainform(); 
    objMainform.Show(); 
    this.Hide(); 
} 
0

я думаю, что шкура не хорошая команда для такого рода работ .. попробуйте это.

это для PROGRA M.CS

static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 
      FrmMain mainForm = new FrmMain(); 
      FrmUsername us = new FrmUsername(); 
      if (us.ShowDialog() != DialogResult.OK) 
       return; 
      Application.Run(mainForm); 
     } 

и это для кнопки в виде имени пользователя введите ..

private void btm_Enter_Click(object sender, EventArgs e) 
     { 
      SqlCommand cmd = new SqlCommand("select count(*) from Tbl_Username where Username='" + txt_Username.Text + "' and Password='" + txt_Password.Text + "'", _sqlcon); 
      _sqlcon.Open(); 
      int count = 0; 
      count = (int)cmd.ExecuteScalar(); 
      if (count > 0) 
      { 
       DialogResult = System.Windows.Forms.DialogResult.OK; 
      } 
      else 
      { 
       DialogResult = System.Windows.Forms.DialogResult.None; 
       MessageBox.Show("UserName or password is wrong", "ENTER", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); 
      } 

      _sqlcon.Close(); 
     } 
Смежные вопросы