Programmazione a finestre, confrontiamoci!

martedì 28 giugno 2011 - 19.49
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

utente Profilo | Junior Member

E' qualche mese che mi sto dilettando a smanettare con il linguaggio C# i vari MVVM, WPF.
Adesso il mio problema non è tanto il realizzare il codice, ma il come.
Nel senso non riesco a fare mie alcune cose:
1) Come mai il primo elemento avviato in una soluzione WPF è una form? Si può fare in maniera differente?
2) Quello che ho creato adesso è una cosa del genere:
* Si avvia la form A
* A si nasconde e chiama la form B
* B mi gestisce il login
* Una volta che l'utente si logga B chiama C e si chiude
* C va a cercare i plugin presenti e crea il menù delle funzionalità
* C avvia le varie funzionalità
Come posso rompere la catena? Come posso cambiare l'ordine di esecuzione del programma senza toccare le varie windows? (Idealmente le windows non dovrebbero conoscere minimamente le altre)
3) Che idea c'è dientro al flusso di un generico programma? (login, funzionalità slegate tra loro, chiusura)

Sarà ma la programmazione a finestre mi crea qualche turbamento.

A voi la parola!

luigidibiasi Profilo | Guru

Puoi vederla così:

un'applicazione 'a finestre' invece che il classico main prevede una WinMain... il flusso di controllo parte da li...
nel caso di WPF (a meno che non supporti le applicazioni console) devi inizare da una form... (ma potrei sbagliarmi)

esattamente cosa vuoi fare?


Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

utente Profilo | Junior Member

Ripeto che non è tanto cosa voglio fare ma come va fatto.

Io vengo dalla programmazione web e mi trovo in difficoltà nel creare un software per windows che mi soddisfi.
Non so cosa, ma c'è qualche idea alla base che mi sfugge.
Come dicevo, mi da idealmente fastidio che ci sia una form di avvio, o anche che il flusso delle form sia gestito dalle form stesse. Mi sembrerebbe più logico avere un programma dove le finestre siano completamente separate e che non siano a conoscenza dell’esistenza delle altre.

luigidibiasi Profilo | Guru

>Come dicevo, mi da idealmente fastidio che ci sia una form di
>avvio, o anche che il flusso delle form sia gestito dalle form
>stesse.

La "form di avvio" sta messa li per semplificarti la vita... puoi tranquillamente scrivere un'applicazione "console" in cui il punto di avvio è il main() e poi da li ti crei le form che ti servono ...
Una entry point ci deve comunque essere!

>Mi sembrerebbe più logico avere un programma dove le
>finestre siano completamente separate e che non siano a conoscenza
>dell’esistenza delle altre.
Probabilmente a te 'da fastidio' l'istanza statica (quella che puoi chiamare senza usare la new)... ma usi vb?


Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

utente Profilo | Junior Member

>>Come dicevo, mi da idealmente fastidio che ci sia una form di
>>avvio, o anche che il flusso delle form sia gestito dalle form
>>stesse.
>
>La "form di avvio" sta messa li per semplificarti la vita...
>puoi tranquillamente scrivere un'applicazione "console" in cui
>il punto di avvio è il main() e poi da li ti crei le form
>che ti servono ...
>Una entry point ci deve comunque essere!

Beh questo è innegabile :D
Solo che addirittura una form mi sembra esagerato



>>Mi sembrerebbe più logico avere un programma dove le
>>finestre siano completamente separate e che non siano a conoscenza
>>dell’esistenza delle altre.
>Probabilmente a te 'da fastidio' l'istanza statica (quella che
>puoi chiamare senza usare la new)... ma usi vb?

No uso C#, però nono ho capito la tua affermazione.
Non disprezzo le istanze statiche, ma forse il vero problema è che ho mai programmato software per utenti Desktop e mi sto perdendo dietro l'idea di interazione tra macchina e utente tramite finestre...



Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5