2017-04-10 2 views
1

Ich mache einen Dateimanager. Es ist notwendig, dass beim Start des Programms die Schaltflächen mit der Auswahl einer vorhandenen Festplattenpartition angezeigt wurden. Im Moment passiert alles nach dem unten stehenden Code. Einfach, es gibt vier Tasten mit "C", "D", "E", "F", aber plötzlich hat der Benutzer nur "C", dann sollte nur ein "C" Knopf sein.Automatische Anzeige der Tasten zum Öffnen der Festplattenpartitionen

private void button10_Click(object sender, EventArgs e) 
{ 
    webBrowser1.Navigate(@"C:\"); 
} 
+0

Mögliche Duplikate von [Schaltflächen unter bestimmten Bedingungen ausblenden/einblenden] (http://stackoverflow.com/questions/43384653/hiding-displaying-buttons-u nder-bestimmte-Bedingungen) –

Antwort

1

Sie dies auf folgende Weise tun:

using System; 
using System.Drawing; 
using System.Windows.Forms; 
using System.IO; 
using System.Diagnostics; 

namespace DemoApplication 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      // We need to get all logic drives of the system on Forms load 
      var localDrives = DriveInfo.GetDrives(); 
      int i = 0; 
      foreach(DriveInfo localDrive in localDrives) 
      { 
       // Create for each Drive the specific button 
       Button bt = new Button(); 
       // Add specific text to button 
       bt.Text = localDrive.Name; 
       // Set button's width 
       bt.Width = 40; 
       // Set location 
       bt.Location = new Point(10+40*i,10); 
       i++; 
       // Add event handler for click to open File Explorer for that drive 
       bt.Click += new EventHandler((obj, args) => 
       { 
        // This will open File explorer to the given path 
        Process.Start(localDrive.RootDirectory.FullName); 
       }); 
       // And finally add our button to the Form 
       this.Controls.Add(bt); 
      } 
     } 
    } 
} 

Mehr Informationen über System.IO.DriveInfo können Sie DriveInfo

Mehr Informationen über System.Diagnostics.Process.Start finden Sie kann Process.Start

finden
+0

Ich verstehe das nicht. Warum Console.WriteLine? Schaltflächen für die Übertragung auf die Festplattenpartition, die sich nicht auf dem PC befindet, sollten ausgeblendet werden. Die Schaltflächen für die Festplattenpartition auf dem PC müssen sich jedoch im Formular befinden. – Eve

+0

@River es ist nur ein Beispiel, wie Sie System Logic Drives in der Konsolenanwendung erhalten. Sie müssen die Auswahl an Laufwerken und Schaltflächen anzeigen. –

+0

Können Sie mir dabei helfen? Ich verstehe nicht, wie man diesen Code schreibt. – Eve

Verwandte Themen