2016-09-30 1 views
0

Привет, я использую интерфейс metroframework, используя этот library, но я не могу закрыть winform The.Close(); не работает для меня. Его форма журнала после запроса выбора MySQL получает результат, он откроет другую winform (Main), после чего я хочу закрыть форму входа. Мой код нижеC# MetroFrameРаботайте, как закрыть MetroForm

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using MySql.Data.MySqlClient; 
using MetroFramework; 
using MetroFramework.Forms; 


namespace UI 
{ 
    public partial class Form1 : MetroForm 


    { 

     public static string SetFname = ""; 
     public static string Setlname = ""; 
     public Form1() 
     { 
      InitializeComponent(); 

     } 

     private void metroButton1_Click(object sender, EventArgs e) 
     { 


      try 
      { 
       string MyConnection2 = "Server=localhost;Database=Blue;Uid=root;Pwd=test123;"; 
       //Display query 
       string Query = "select * from blue.members WHERE user_name = '" + this.metroTextBox1.Text + "' AND user_pass = '" + this.metroTextBox2.Text + "' AND status = 'Activated'"; 
       MySqlConnection MyConn2 = new MySqlConnection(MyConnection2); 
       MySqlCommand MyCommand2 = new MySqlCommand(Query, MyConn2); 
       // MyConn2.Open(); 
       //For offline connection we weill use MySqlDataAdapter class. 

       MySqlDataReader myReader; 
       MyConn2.Open(); 
       myReader = MyCommand2.ExecuteReader(); 




       int count = 0; 
       while (myReader.Read()) 
       { 
        count = count + 1; 


       } 
       if (count == 1) 
       { 



        string fname = myReader.GetString("firstname"); 
        string lname = myReader.GetString("lastname"); 



        MetroMessageBox.Show(this, "Log in Success! Welcome, " + fname + " " + lname + "", "Information", MessageBoxButtons.OK, MessageBoxIcon.Question); 



        Datarecords AddNew = new Datarecords(); 
        AddNew.ShowDialog(); 
        AddNew.TopMost = true; 

        this.Close(); 

       } 
       else 
       { 

        MetroMessageBox.Show(this, "Wrong Username & Password.", "Login Failed", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop); 
        MyConn2.Close(); 

       } 


      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 


     } 
    } 
} 
+0

Я попробовал пакет, и Close работает отлично для меня. Можете ли вы показать код? –

ответ

0

Ok так осмотрев я нашел обходной путь here, кажется, моя проблема не с metroframework UI простите за это.

1

Вы используете AddNew.ShowDialog(); Изменить что AddNew.Show(); и он должен работать нормально

+0

Привет, я уже изменил его, чтобы показать(), но все же this.Close() не работает. Я попытался поместить форму входа в переменную и все еще не работать. – KaoriYui

Смежные вопросы