Press "Enter" to skip to content

A DotNetWorker Site - .Net and surroundings Posts

5 – MultiClock – Aggiungere la possibilità di configurare dimensione e font di ogni orologio

Considerato che come in ogni applicazione che si rispetti, quando diamo agli utenti una nuova funzionalità un altra viene richiesta subito dopo, perché “Beh, già che ci sei perché…” una volta che abbiamo consegnato ai nostri utenti la versione 3.0 dell’orologio, che permetteva di configurare il colore di ogni orologio, i miei utenti hanno immediatamente detto: “Bellissimo, ma…”

Perché non ci permetti anche di decidere quanto vogliamo che l’orologio sia grande e con quale font vogliamo che sia visualizzato.

Comments closed

4 – MultiClock – Aggiungere la possibilità di configurare i colori di ogni orologio

Una nuova richiesta dagli utenti della nostra applicazione, che hanno riferito che poter avere orologi di colore diverso per ogni diverso fuso orario sarebbe una cosa utile a chi li guarda per focalizzarsi subito sull’orologio necessario.

Pertanto, per poterlo realizzare abbiamo bisogno di fare alcune modifiche in vari punti del nostro progetto MultiClock, in modo da ottenere quanto visibile nell’immagine qui sotto.

Comments closed

3 – Multiclock – Generare l’installer con InnoSetup

Se vogliamo distribuire agli utenti il nostro orologio multi fuso orario, è necessario creare un programma di setup semplice da usare da parte degli utenti stessi. Dopo che in visual studio, esattamente nella versione VS 2010 è stato tolto il progetto standard di setup Microsoft che produceva un .msi, sono passata a usare InnoSetup, un generatore di installer gratuito ma costruito con professionalità ed utilizzato da molti per distribuire le applicazioni desktop per Windows.

InnoSetup crea un file .exe che effettua l’installazione. Per farlo, ha bisogno di uno script che gli dica come la nostra applicazione è fatta, quali sono i file che la compongono, dove vogliamo installarla e come vogliamo sia configurata.

Gli script InnoSetup hanno 2 peculiarità che li rendono facili da utilizzare, tali peculiarità sono:

  1. E’ possibile includere diversi script uno nell’altro, pertanto si può modularizzare l’installazione.
  2. E’ possibile definire delle variabili, in modo da semplificare per quanto possibile la configurazione di una nuova applicazione.

Grazie a queste caratteristiche, preparare il setup di un’applicazione, dopo averlo fatto la prima volta, diventa molto, molto semplice.

Comments closed

InnoSetupFilesGen – Automatizzare le operazioni manuali.

InnoSetupFilesGen, è una piccola utility per automatizzare la creazione della lista dei files di una applicazione per il compilatore di InnoSetup, questa operazione effettuata manualmente potrebbe portare ad errori, a dimenticarsi qualche file, a dimenticarsi di aggiornare un file quando si aggiunge un reference nuovo, pertanto automatizzarla ci aiuterà ad evitare errori non voluti quando creiamo un setup.

Si tratta di una applicazione molto semplice. Una applicazione Console a cui passare una serie di parametri che le permettono di produrre uno script con la lista dei files che compongono il setup di una applicazione.

Comments closed

2 – Multi Clock – Miglioriamo la User interface

In questo secondo articolo dedicato all’orologio multi fuso orario che abbiamo costruito nel precedente articolo, vogliamo migliorare la qualità del comportamento della nostra User Interface. Se avete provato la versione 1.0 del nostro orologio avrete notato 2 problemi che erano presenti nella gestione della configurazione degli orologi, se non lo aveste fatto, i problemi sono i seguenti:

  • Annullando le modifiche effettuate in configurazione, chiudendo senza salvare, sembrava che tali modifiche non fossero state applicate, ma alla chiusura e riapertura dell’applicazione invece le modifiche annullate venivano comunque applicate e gli orologi modificati.
  • Chiudendo la finestra senza salvare, il sistema non chiedeva alcuna conferma prima di annullare le modifiche.

Il motivo di questi due problemi, ovviamente correlati è il seguente:

  1. La modifica alla configurazione nella versione 1.0 viene effettuata direttamente sui dati attualmente in uso.
  2. A causa di questo, visto che alla chiusura della finestra principale i dati di configurazione vengono comunque automaticamente aggiornati per salvare le dimensioni della finestra, anche le modifiche annullate vengono salvate.
  3. Modificando direttamente i dati attuali di configurazione, non c’era modo di sapere se al momento della chiusura della finestra c’erano state variazioni quindi non era possibile notificare l’utente.

Vediamo quindi come ovviare ai problemi e rendere il nostro orologio un po’ più professionale.

Comments closed

Come interagire con una picturebox creata a runtime al passaggio o al click del mouse

In risposta ad un thread sul forum italiano di sviluppo desktop, in cui come da titolo un principiante chiedeva come poter interagire con delle picturebox generate a runtime, ho creato un programmino che dimostra come intercettare gli eventi Mouse Click e Mouse Hover sui controlli picturebox generati a runtime. Nella…

Comments closed

1 – Multi Clock – Un applicazione in WPF

Qualche giorno fa, ero in ferie e ovviamente pioveva a dirotto, così ho deciso di fare una piccola applicazione che serve a me e ai miei colleghi in ufficio visto che lavoriamo quasi esclusivamente con aziende estere e più o meno tutte sono su fusi orari diversi dal nostro. Mentre sviluppavo la piccola applicazione che mi sono immaginata, mi sono resa conto che pure essendo semplice, potrebbe essere didatticamente interessante, pertanto, invece di farla divenire un progetto aziendale, l’ho fatta divenire un progetto DotNetwork, e la costruirò usando questo articolo, poi la modificherò aggiungendo nuove funzionalità e spiegando varie cose in alcuni articoli successivi.

L’applicazione verrà sviluppata in MVVM basico, cercando di far comprendere i concetti fondamentali del Binding e facendo vedere a chi si approccia alla programmazione C# XAML che non è difficile, che è potente e davvero ottima per creare applicazioni desktop.

La User Story

Partiamo indicando quali sono le richieste dei “clienti” in questo caso io e i miei colleghi. Spesso, ci troviamo ad organizzare video conferenze con i nostri clienti che si trovano su fuso orario diverso, pertanto se prima di chiamarli possiamo sapere che ore sono a casa loro evitiamo di svegliarli alle quattro del mattino, o di chiamarli mentre sono a pranzo o a cena. Per farlo, ci serve avere un orologio che possa mostrare l’ora di un diverso fuso orario. Ovviamente, l’appetito vien mangiando e la richiesta è divenuta, “Ma non potremmo avere un applicazione con una serie di orologi?”. Pertanto la storia è la seguente:

“Vorremmo un applicazione che ci mostri l’ora locale e l’ora di almeno due o tre diversi fusi orari, quelli che usiamo più spesso così è facile sapere come schedulare video conferenze, telefonate e anche appuntamenti.”

Comments closed

Tech Days Online – Cinque Giornate di sessioni Gratuite dagli MVP di tutto il mondo

Dopo il successo della scorsa edizione, Microsoft ha annunciato oggi una nuova sessione di Tech Days Online, si tratta di 5 giornate di sessioni gratuite, tenute a Redmond dagli MVP di tutto il mondo e trasmesse online in streaming e poi rese disponibili su Channel 9. Le sessioni si terranno…

Comments closed

Come Mostrare su una Textbox un valore legato al valore di una combobox

Una domanda sul forum microsoft, da parte di un principiante che potete trovare qui, richiedeva come fare, dopo aver caricato i dati di una tabella su una ComboBox che ne mostra una colonna, a mostrare il contenuto di un altra colonna su una TextBox in base a cosa fosse selezionato sulla ComboBox .

Essendo un operazione che si fa spesso, nella programmazione Windows Forms, ho fatto un piccolo esempio vacanziero per mostrare come si fa.

wimdow_01

wimdow_02

Comments closed

Creare una Dll .Net utilizzabile dal VBA di Excel

Un post in risposta ad un quesito posto sul Forum Microsoft in cui un Temerario che ha la necessità di utilizzare delle funzioni .Net da dentro Excel chiedeva come mai non riusciva a vedere una libreria .Net da dentro a Excel.

Credo che l’ultima volta che ho usato questa cosa sia stato il 2005, poi, per mia fortuna ho potuto evitare l’interoperabilità, anche perché sono sempre maggiori i paletti inseriti all’interno degli strumenti office per paura della creazione di virus che possano danneggiare i computer.

Ad ogni modo, ho creato una libreria esempio, seguendo quanto esposto da chi ha fatto la domanda e ho verificato tutti gli step necessari a poterla utilizzare dentro al VBA di Excel.

solution_01

Comments closed