Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-04-2009, 14:33   #1
mcardini
Senior Member
 
L'Avatar di mcardini
 
Iscritto dal: Apr 2000
Città: Prato
Messaggi: 1061
[C#] Gestire 4 checkbox

Ciao a tutti,
Sto creando, a scopo didattico, una piccola applicazione che mi fa partire le utility di sistema di windows senza ricorrere alla riga di comando.
Ora volendo implementare il defrag, ho creato 4 checkbox dove dovrei selezionare gli argomenti da passare al comando defrag.exe.
Ora, il problema e' che i checkbox posso essere selezionati coem uno preferisce (esempio verbose -v e full defrag -w) solo che non so come gestirli.
Come faccio ad assegnare ad ogni check un valore da passare poi alla riga di comando?
Io per ora sto procedendo a colpi di 'if' ma la soluzione non e' buona, infatti fa' un po quello che gli pare
Vi posto il codice che per ora ho sviluppato.

Codice:
// Defrag system
        private void button2_Click(object sender, EventArgs e)
        {
            
            const string arg = "-a ";
            const string drive = "c: ";
            const string boot = "-b ";
            const string verb = "-v ";
            const string allvol = "-c ";
            const string full = "-w ";
            string command = "";
            if (checkBox1.Checked)
            {
                command = (command + boot);
            }
            if (checkBox2.Checked)
            {
                command = (command + verb + arg);
            }
            if (checkBox3.Checked)
            {
                command = (command + allvol);
            }
            if (checkBox4.Checked)
            {
                command = (command + full);
            }
            Process.Start("defrag.exe ", command + drive);
        }
__________________
Il mio colore preferito era il blu...
Fino a quando non ho installato Windows...
mcardini è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2009, 15:43   #2
alex783
Senior Member
 
Iscritto dal: Jan 2009
Messaggi: 609
Ciao!
Premesso che anch'io sono alle prime armi (anzi, primissime ) con C# e .NET, farei così:

- utilizzo il controllo CheckedListBox al posto dei CheckBox;
- utilizzo un comboBox;
- creo un array rettangolare di tipo string dove metto tutti i comandi relativi al defrag;
- creo un campo Command di tipo string (è quello da passare come argomento al metodo Start della classe Process);


Ecco il codice:

Codice:
 public partial class Form1 : Form
    {
        static string Command;
        static string[] drives = Environment.GetLogicalDrives();
        static string[,] CommandArray = new string[3, 2] // [riga, colonna] aumenta la dimensione Riga se vuoi aggiungere altri comandi possibili
            {
            {"-v","Verbose Mode"},
            {"-w","Full Defrag Mode"},
            {"-b","Other command"}
            };

        public Form1()
        {
            InitializeComponent();
            comboBox1.Items.AddRange(drives);
            for (int i = 0; i < CommandArray.GetLength(0); i++)
                checkedListBox1.Items.Add(CommandArray[i, 1]);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Command= string.Empty;
            if (comboBox1.text!=string.Empty)
            {
                for (int i = 0; i < CommandArray.GetLength(0); i++)
                {
                    if (checkedListBox1.CheckedItems.Contains(CommandArray[i, 1]))
                        Command = Command + " " + CommandArray[i, 0];
                }
                Process.Start("defrag.exe ", command + " " + comboBox1.Text);
            }
            else MessageBox.Show("Devi selezionare un drive da deframmentare.");
        }
    }
P.S: non dimenticarti di impostare a true la proprietà "CheckOnClick" al CheckedListBox.

Ultima modifica di alex783 : 19-04-2009 alle 16:10.
alex783 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2009, 16:33   #3
mcardini
Senior Member
 
L'Avatar di mcardini
 
Iscritto dal: Apr 2000
Città: Prato
Messaggi: 1061
Grazie per il suggerimento, provo subito.

Edit: Ho provato e funge alla grande!
Grazie ancora
__________________
Il mio colore preferito era il blu...
Fino a quando non ho installato Windows...

Ultima modifica di mcardini : 19-04-2009 alle 16:40.
mcardini è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2009, 17:23   #4
alex783
Senior Member
 
Iscritto dal: Jan 2009
Messaggi: 609
Prego
__________________
L'iPad? Potrebbe esserci gente che, pur d'avere il nuovo gadget, si mette a leggere i libri. Questa sì sarebbe una rivoluzione (Beppe Severgnini)
alex783 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Elgato Embrace: una sedia ergonomica pro...
Brad Pitt torna in pista: F1 – Il Film a...
Hitachi Vantara annuncia la sua AI Facto...
Brembo passa all'alluminio riciclato al ...
HONOR pronta a sfidare gli iPad Pro con ...
OpenAI esce allo scoperto: confermati i ...
In arrivo altri due prodotti da Apple en...
Il tool per aggiornare da Windows 10 a W...
Rishi Sunak entra in Microsoft e Anthrop...
Porsche in poche ore chiude la formazion...
iPhone 17 disponibili su Amazon al prezz...
La Ferrari Elettrica non è la cau...
Ricarica da record: Zeekr supera i 1.300...
Un 'capezzolo' con feedback aptico al po...
Porsche Taycan Rush a Misano: prima al v...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v