2017-06-13 3 views
0

Ich erstelle ein Programm, das ein Frontend zum Öffnen von Dateien von Serverstandorten bietet, ohne zu Serverstandorten navigieren zu müssen. Das Programm hat Schaltflächen, die Listen für bestimmte Kategorien öffnen, und dann eine einzelne Schaltfläche, um die Datei von dem aktuell ausgewählten Element aus der Liste zu öffnen.Ermitteln der sichtbaren Liste in einer Schaltfläche

Mein aktuelles Problem ist in der Lage zu identifizieren, welche ListBox gerade in Sicht ist, so dass das Programm weiß, welche Liste als Referenz zum Öffnen der richtigen Datei verwendet werden soll.

Gibt es eine Möglichkeit, ein "Objekt" namens "Liste" zu erstellen, dann das Listenfeld zuzuweisen und darauf Bezug zu nehmen? Es scheint nicht zu gefallen, was ich getan habe.

object ListBox; 
int IdCheck = 0; 
string DriveLoc; 

private void ButtAirInfo_Click(object sender, EventArgs e) 
    { 
     GBAirInfo.Visible = true; 
     GBAir.Visible = false; 
     ListBox = LBAirInfo; //Here is where I load the List on to the screen, then 
          //assign the list to the object ListBox 
    } 
private void button2_Click(object sender, EventArgs e) 
    { 
     using (connection = new SqlConnection(connectionString)) 
     using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Files", connection)) 
     { 
      DataTable FilesTable = new DataTable(); 
      adapter.Fill(FilesTable); 

      if (ListBox.SelectedIndex == -1) 
       MessageBox.Show("No Items selected"); 
      else 
       IdCheck = ListBox.SelectedIndex; 
       DriveLoc = (FilesTable.Rows[IdCheck]["Location"].ToString()); 
      if (DriveLoc == "") 
        MessageBox.Show("Item does not have a location"); 
      else 
       System.Diagnostics.Process.Start(@DriveLoc); 
     } 

Antwort

0

Ok, so hat meine eigene Forschung zeigt, dass Sie ein Listenfeld zu einem Gattungsbegriff verwendet zuweisen können -

Listbox ListBx 

this.ListBx = Listbox1; 

Auf diese Weise kann ich ein Stück Code sorgen für alle Listboxen funktionieren wird, und alles, was ich tun muss, ist die Listbox zu ändern, die ListBx zugeordnet ist, wenn ich jede Liste über Buttons lade. Ich hoffe, dass das jemandem hilft, die Linie zu senken.

Verwandte Themen