|
|
IN-VESTI DNW!!! Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta. Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni Effettua il pagamento usando IWBank Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione. Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt. Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!! .:DotNetWork Founders:.
|
|
|
|
|
lettura parametri da windows form in c#
Ultimo Post 04 giu 2010 10.58 by Cristina. 15 Risposte.
|
Ordina:
|
 Posts:7
 |
| 03 giu 2010 14.30 |
|
Salve, ho un'applicazione windows form in c#, devo poter leggere dei parametri passati da linea di comando quando viene lanciato l'eseguibile, ho trovato degli esempi in vb ma non in c# e mi sembra che non siano applicabili metodi simili, potreste darmi dei suggerimenti? grazie mille. |
|
|
|
|
 Posts:5
 |
| 03 giu 2010 14.53 |
|
devi gestire l'evento startup. i dati sono in "e". Marcelo. using System.Windows; // Application, StartupEventArgs namespace TEstApplication { public partial class App : Application { public App() { this.Startup += this.Application_Startup; InitializeComponent(); } private void Application_Startup(object sender, StartupEventArgs e) { // Detect when the application starts up. } } } |
|
|
|
|
 Posts:7
 |
| 03 giu 2010 15.22 |
|
ciao grazie per la risposta, ho provato a riprodurre l'esempio così come lo hai scritto tu ma mi da un errore su StartUpEventArgs (naturalmente ho messo la direttiva System.Windows.Forms come mi hai detto tu). |
|
|
|
|
 Posts:7
 |
| 03 giu 2010 15.32 |
|
mi da anche un altro errore testApplication.App non può derivare dal tipo sealed System.Windows.Forms.Application |
|
|
|
|
 Posts:5
 |
| 03 giu 2010 15.47 |
|
Ciao, prova in questo modo.... namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); foreach (string arg in Environment.GetCommandLineArgs()) { Console.WriteLine(arg); } } } } Marcelo. |
|
|
|
|
 Posts:7
 |
| 03 giu 2010 16.21 |
|
funziona mi ridà il nome del file devo provare ad eseguirlo da linea di comando e vedere se mi restituisce anche eventuali ulteriori parametri |
|
|
|
|
 Posts:29
 |
| 03 giu 2010 17.17 |
|
Inserito da Cristina su 03 giu 2010 15.30 Salve, ho un'applicazione windows form in c#, devo poter leggere dei parametri passati da linea di comando quando viene lanciato l'eseguibile, ho trovato degli esempi in vb ma non in c# e mi sembra che non siano applicabili metodi simili, potreste darmi dei suggerimenti? grazie mille. Ciao  devi far comunicare i 2 programmi via sockets, praticamente devi implementare una comunicazione di tipo client-server. il server dovrà far perte dell' applicazione console, il client di quella Windows Form, quando dal windows form, per es., clicchi un bottone, il comando lo fai ricevere dal server sull' applicazione console, il server risponde al client dell' allplicazione windows e ne registra la risposta. Buon divertimento  |
|
|
|
|
 Posts:29
 |
| 03 giu 2010 17.19 |
|
Ops, scusate, non avevo letto che avevi già risolto col suggerimetno di Marcelo. Pardon ^^ |
|
|
|
|
 Posts:811
 |
| 03 giu 2010 19.51 |
|
Non ho capito dove vogliate andare a parare con i sockets e gli eventi di startup ma in C# esattamente come in C per leggere i parametri da linea di comando (sempre che lavoriate in modo normale e non usando modalità esoteriche)
[StaThread] public static void Main( string[] Args) { }
fa in modo che all'interno dell'array Argv vengano resi leggibili tutti i parametri della linea di comando in stringhe separate sul carattere spazio, oppure se non erro sulle virgolette doppie così come accade in qualsiasi applicazione con parametri da linea di comando in tutto l'universo.
saluti Sabrina |
|
| Sabrina |
|
|
 Posts:29
 |
| 03 giu 2010 20.03 |
|
Credo che si parli di inserire un dato (o comunque leggere il risultato di una elaborazione) in un programma, per es.in Programma_1.exe e leggerlo da un altro programma, per es. in Programma_2.exe. Io uso sempre i Socket per farlo, se ci sono altre soluzioni, non lo so non tutto mi è dato sapere xD (naturalmente, da buon informatico, sono ironico ^^ ) Saluti  |
|
|
|
|
 Posts:29
 |
| 03 giu 2010 20.36 |
|
Rligendo bene [quote="Cristina"]Salve, ho un'applicazione windows form in c#, devo poter leggere dei parametri passati da linea di comando quando viene lanciato l'eseguibile, ho trovato degli esempi in vb ma non in c# e mi sembra che non siano applicabili metodi simili, potreste darmi dei suggerimenti? grazie mille. [/qote] Credo proprio che come al solito xD abbia ragione Sabrina! p.s. quello che ho detto funziona!ma mi sono accorto di aver interpretato male la domanda. A quanto pare non si parla di 2 programmi differenti, uno console e uno winform, come avevo interpretato io, ma dello stesso programma winform lanciato dal prompt dei comandi di windows (cmd.exe). Credo proprio che abbia ragione sabrina! Rispettosi saluti a tutti Mimmo |
|
|
|
|
 Posts:7
 |
| 04 giu 2010 07.47 |
|
L'ultima volta che ho creato un'applicazione windows form è stato tanti anni fa con vb6 ora sono un pò in difficoltà tanto da non capire come faccio a creare il mio file exe?
Devo trasformare un'applicazione in modo che se lanciata da riga di comando (cmd nomeprogramma.exe par1) sia in grado di riconoscere il parametro passato.
Per il momento sto cercando di: 1) capire come leggere il parametro. 2) creare l'eseguibile.
|
|
|
|
|
 Posts:811
 |
| 04 giu 2010 09.55 |
|
capisco  non ti preoccupare, siamo qui per quello  per capire come creare l'applicazione, ti consiglio di leggere l'articolo: http://www.dotnetwork.it/Articoli/tabid/62/ctl/Detail/mid/478/xmid/22/language/it-IT/Default.aspx Iniziare da zero con visual studio, parla di VS 2008 ma in 2010 non è diverso se non per l'aspetto degli screenshot. Quando tu crei un progetto Windows forms application in C# ti viene creata una classe Program.cs all'interno della quale trovi il Main dell'applicazione ovvero la funzione che ti ho scritto io, modificando i parametri della funzione (di solito è parameterless) aggiungi un Array di Stringhe ed il compilatore sa che in quell'array deve mettere i parametri da linea di comando. All'interno del metodo Main, poi puoi leggerli ed usarli per fare ciò che ti serve. Se non hai frettissima, nel fine settimana preparo una piccola demo e ve la posto. saluti |
|
| Sabrina |
|
|
 Posts:7
 |
| 04 giu 2010 10.07 |
|
grazie, sei gentilissima! Ora sto cercando di capire come posso leggere in qualsiasi form i parametri recuperati. Insomma dovrei avere a disposizione una sorta di variabile globale.... uff con vb6 era tanto semplice! |
|
|
|
|
 Posts:811
 |
| 04 giu 2010 10.25 |
|
E' molto semplice, all'interno di Program.cs Crei una variabile a livello di classe che chiami private static string[] mArguments; e una property pubblica public static string[] Arguments { get { return( mArguments ); } } e nel main, assegni a mArguments l'array passato al main mArguments = Args; a questo punto da ogni punto del programma puoi accedere agli argomenti usando Program.Arguments
Se poi vuoi fare qualcosa di + sofisticato, ad esempio se ogni parametro ha un proprio uso e può non essere sempre nello stesso punto della lista
c:> myapp /c /v /y oppure c:> myapp /v /y /c
è possibile che sia fatto da chi usa l'applicazione, puoi creare delle singole variabili nominate per cortesia usa sempre la coppia variabile property come gentilezza verso di me      
Oppure, se i parametri possono essere molti, puoi creare un Dictionary generico e dare un nome ad ogni parametro inserendolo nel dictionary per poi leggerlo con una chiamata di tipo
Program.Arguments[Nome] Program.Arguments[Pippo] ecc.
saluti
|
|
| Sabrina |
|
|
 Posts:7
 |
|
| Non sei autorizzato ad inviare una risposta. |
|
Active Forums 4.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stampare Una DatagridView |
 |
Come utilizzare gli oggetti di stampa forniti dal framework per stampare il contenuto di una DatagridView con l'ausilio della GDI+ |
 |
|
2008/12/07 | Autore: Andrea Zingoni
|
|
|
|
|
|