martedì 6 ottobre 2026

Eseguire una funzione a intervalli regolari con C# e Windows Forms

Il frammento di codice riportato di seguito illustra una tecnica, in ambiente C# e Windows Forms, per eseguire una funzione a intervalli regolari.
Le operazioni vengono gestite tramite la classe Timer di Windows Forms che, una volta configurata, genera periodicamente l'evento Tick, all'interno del quale è possibile richiamare la funzione desiderata.

Di seguito viene riportato un esempio per illustrare questa tecnica.

Dichiarazione del Timer
A livello di form, dichiariamo un oggetto della classe Timer e una variabile booleana che utilizzeremo per evitare che la funzione venga eseguita nuovamente mentre è ancora in corso un'esecuzione precedente.


C#
 

System.Windows.Forms.Timer timerRipeti;

 bool inEsecuzione = false;




Gestione dell'evento Tick
Creiamo quindi un gestore per l'evento Tick del Timer.



C#

private void TimerRipeti_Tick(object sender, EventArgs e)

{

    if (inEsecuzione)

        return;

           

    try

    {

        inEsecuzione = true;

        NomeFunzione();

    }

    finally

    {

        inEsecuzione = false;

    }

}



La variabile inEsecuzione permette di verificare se la funzione è già in esecuzione. In questo modo, nel caso in cui venga generato un nuovo evento Tick mentre l'operazione precedente non è ancora terminata, la nuova esecuzione viene ignorata.

Configurazione del Timer
Nell'evento Load della form inizializziamo il Timer, colleghiamo il gestore dell'evento Tick e impostiamo l'intervallo di esecuzione.

Nell'esempio seguente la funzione verrà richiamata ogni minuto:


C#

  timerRipeti = new System.Windows.Forms.Timer();

  timerRipeti.Tick += TimerRipeti_Tick;

 

            

  int minuti = 1; // minuti

  timerRipeti.Interval = minuti * 60 * 1000;


Infine, per avviare effettivamente il timer, è necessario chiamare il metodo Start():
timerRipeti.Start();

lunedì 5 ottobre 2026

Windows 11 – Aggiornare le app dal Microsoft Store

 

Windows 11 aggiornamento app dal Microsoft Store

Introduzione

In questo articolo vedremo come aggiornare le app installate sul PC con Windows 11 direttamente dal Microsoft Store.

Alcune delle applicazioni installate sul PC Windows 11 sono disponibili tramite il Microsoft Store. Lo Store ne consente la gestione e, quando previsto, la distribuzione degli aggiornamenti.

Mantenere le applicazioni aggiornate è importante sia per usufruire delle nuove funzionalità e dei miglioramenti introdotti dagli sviluppatori, sia per contribuire alla sicurezza del sistema. È quindi consigliabile verificare periodicamente la disponibilità di nuovi aggiornamenti.

Dal menu Start, scorriamo l'elenco dei programmi fino a trovare Microsoft Store (figura 1). In alternativa, se l'icona è presente nella barra delle applicazioni di Windows, possiamo fare clic direttamente su di essa.

Windows 11 aggiornamento app dal Microsoft Store
Figura 1  - La voce di menu Microsoft Store

Una volta aperto Microsoft Store, nella barra laterale sinistra, in basso, troviamo l’icona a forma di nuvola con la voce Download. Facciamo clic su di essa, come mostrato nella figura 2.
Windows 11 aggiornamento app dal Microsoft Store
Figura 2 – L’icona degli aggiornamenti

Facendo clic sul pulsante, verrà visualizzata la schermata dedicata agli aggiornamenti delle app di Windows. In particolare, verrà mostrato l’elenco delle applicazioni per le quali è disponibile un aggiornamento.
Windows 11 aggiornamento app dal Microsoft Store
Figura 3 – La schermata degli aggiornamenti da effettuare


La schermata permette di aggiornare una singola applicazione installata facendo clic sul pulsante Aggiorna, posto sul lato destro dell’applicazione. In alternativa, facendo clic sul pulsante Aggiorna tutto, situato nella parte superiore destra della schermata, è possibile aggiornare tutte le applicazioni per le quali è disponibile un aggiornamento.

Tramite il pulsante Controlla aggiornamenti è invece possibile verificare nuovamente la disponibilità di eventuali aggiornamenti. Questa funzione può essere utilizzata anche quando tutte le applicazioni risultano già aggiornate, per verificare se sono disponibili nuovi aggiornamenti.

Conclusioni

Su un PC con sistema operativo Windows 11, possiamo installare le applicazioni utilizzando pacchetti di installazione oppure tramite il Microsoft Store.

È importante controllare periodicamente la disponibilità di aggiornamenti e mantenere aggiornati sia le applicazioni sia il sistema operativo Windows. Gli aggiornamenti possono infatti includere correzioni di sicurezza, nuove funzionalità, miglioramenti delle prestazioni e correzioni di eventuali problemi.

domenica 4 ottobre 2026

download gioco gratuito Legion Hunters

 

Gioco gratuito legion Hunters

Sulla piattaforma Epic Games è disponibile gratuitamente Legion Hunters, un videogioco di strategia.

Il gioco, disponibile in lingua inglese, può essere scaricato gratuitamente su PC Windows.

Per maggiori informazioni e per effettuare il download, visitate la pagina ufficiale del gioco: https://store.epicgames.com/p/legion-hunters-81dd19

Free ebook Prompt Engineering for Developers

 

free ebook prompt AI

Un ebook molto interessante dedicato al prompt engineering per l’intelligenza artificiale, pensato in particolare per gli sviluppatori.

Dal sito di Syncfusion è possibile scaricare gratuitamente l’ebook, disponibile in lingua inglese, che affronta uno dei temi più discussi e attuali nel campo dell’intelligenza artificiale: la creazione e l’utilizzo efficace dei prompt nello sviluppo software.

Dal seguente sito https://www.syncfusion.com/succinctly-free-ebooks/prompt-engineering-for-developers-succinctly è possibile scaricare l'ebook.

sabato 3 ottobre 2026

Toro: un programma gratuito per Windows per conoscere e gestire il proprio sistema

 

Programma Toro - software gratuito in C#

Da qualche mese ho pubblicato sul mio profilo GitHub un nuovo progetto chiamato Toro, un programma gratuito pensato per Windows che permette di raccogliere informazioni sul sistema e di utilizzare diverse funzionalità e utilità.

Il progetto è disponibile su GitHub e il codice sorgente è scritto in C#.  https://github.com/Emanuele2025/Toro   

Toro permette, tra le altre cose, di visualizzare informazioni sull'hardware e sul software del computer, utilizzare strumenti di diagnostica della rete, gestire alcune operazioni sui file e accedere a diverse utilità. Il progetto include inoltre funzionalità come convertitori e strumenti aggiuntivi per Windows.

L'applicazione è pensata per essere semplice da utilizzare e può essere utile a chi desidera avere in un unico programma alcune informazioni e funzionalità relative al proprio PC.

Il progetto è open source ed è distribuito con licenza GPL-3.0.

Sono sempre interessato a ricevere feedback, consigli e suggerimenti da parte di chi vorrà provare il programma. Le vostre segnalazioni possono essere utili per individuare eventuali problemi, migliorare le funzionalità esistenti e svilupparne di nuove.

Se siete interessati a provarlo o a dare un'occhiata al codice sorgente, trovate il progetto su GitHub: https://github.com/Emanuele2025/Toro

Ogni feedback è benvenuto e soprattutto di grande atiuto.

venerdì 2 ottobre 2026

download ebook .NET Aspire

 

free ebook aspire


È disponibile gratuitamente “.NET Aspire Succinctly”, un ebook pubblicato da Syncfusion che offre un'introduzione a .NET Aspire, il framework pensato per semplificare lo sviluppo, l'orchestrazione e la gestione di applicazioni distribuite e cloud-native basate su .NET.

L'ebook, scritto in lingua inglese, è dedicato sia a chi vuole conoscere .NET Aspire sia a chi desidera approfondirne l'utilizzo attraverso esempi pratici. Il testo tratta, tra gli altri argomenti, l'orchestrazione dei servizi, la service discovery, la telemetria e l'utilizzo della dashboard di Aspire

Il libro è disponibile gratuitamente per il download ed è anche consultabile online.

Per maggiori informazioni e per scaricare l'ebook, è possibile visitare il sito di Syncfusion: .NET Aspire Succinctly® | Free Ebook | Syncfusion®

giovedì 1 ottobre 2026

Software gratuito di clonazione SSD e HHD AOMEI Clone

 

Programma gratuito AOMEI  Clone

È disponibile gratuitamente per Windows AOMEI Backupper, un programma che permette di clonare dischi e unità di memoria, come SSD e HDD.

Il programma è disponibile anche in lingua italiana.

Per maggiori informazioni e per scaricare il programma, visitate il seguente sito:  https://www.ubackup.com/it/clone/  

mercoledì 30 settembre 2026

free ebook Mobile Web Wrappers with .NET MAUI

 

free ebook Mobile Web Wrappers with .NET MAUI

Un nuovo ebook del nostro amico Alessandro Del Sole, questa volta dedicato allo sviluppo software per dispositivi mobili utilizzando il framework .NET MAUI.

L'ebook, di circa 100 pagine e scritto in lingua inglese, è disponibile gratuitamente per il download sul sito di Syncfusion:

https://www.syncfusion.com/succinctly-free-ebooks/mobile-web-wrappers-with-dot-net-maui-succinctly


lunedì 28 settembre 2026

Modelli gratuiti di Microsoft Excel - Maestro Excel

 

sito su Microsoft Excel

Il sito Maestro Excel offre agli utenti la possibilità di scaricare gratuitamente modelli per Microsoft Excel, senza la necessità di registrarsi o fornire il proprio indirizzo email.

Il sito, disponibile in lingua italiana, propone modelli dedicati a diversi ambiti, tra cui gestione, finanza, lavoro e costruzioni. Ogni modello è accompagnato da spiegazioni, istruzioni e, in molti casi, da un'anteprima dei fogli disponibili, così da poter valutare il contenuto prima del download. qui il sito https://www.maestroexcel.it/  


domenica 27 settembre 2026

Sito per convertire i file anyconv

 

strumento online per convertire i file

AnyConv è un servizio online, disponibile anche in lingua italiana, che permette di convertire gratuitamente i file da un formato all’altro, senza bisogno di registrazione.

Per effettuare una conversione, è sufficiente caricare il file desiderato e selezionare il formato nel quale si vuole convertirlo.

Per utilizzare il servizio e per maggiori informazioni, visitate il sito ufficiale di AnyConv: https://anyconv.com/it/

sabato 26 settembre 2026

Evento gratuito Dev Days Rome, Italy

Il Dev Days Rome Italy è un evento gratuito e aperto a tutti, dedicato all'utilizzo di GitHub Copilot e, più in generale, alle tecniche e alle funzionalità per la gestione del codice sorgente attraverso GitHub.
L'evento si terrà in presenza presso la sede di Microsoft Italia a Roma, nella mattinata di 2 ottobre 2026.
Per partecipare è necessario registrarsi tramite il seguente sito:


Nella pagina dell'evento sono disponibili ulteriori informazioni sull'iniziativa, sul programma e sulle modalità di partecipazione.

venerdì 25 settembre 2026

C# ADO.NET Verificare se in un record di un DataTable sono presenti valori

In questo tip di programmazione C# con ADO.NET vediamo come verificare se, all'interno di un record di un DataTable, sono presenti determinati valori numerici.
In particolare, supponiamo di avere alcune colonne di tipo int e di voler verificare se, per un determinato record, tali colonne contengono un valore diverso da 0.

Di seguito un esempio:

C#

        DataTable dttDatiGestione = new DataTable();

         dttDatiGestione.Columns.Add(new DataColumn("ID", typeof(int)));

        dttDatiGestione.Columns.Add(new DataColumn("Numero", typeof(int)));

        dttDatiGestione.Columns.Add(new DataColumn("Numero2", typeof(int)));

         DataRow rigaNuova = dttDatiGestione.NewRow();

        rigaNuova[0] = 1;

        rigaNuova[1] = 4;

        rigaNuova[2] = 8;

        dttDatiGestione.Rows.Add(rigaNuova);

        bool trovatoElemento = dttDatiGestione.AsEnumerable()

.Any(p =>

    p.Field<int>("ID") == 1 &&

    (p.Field<int?>("Numero") ?? 0) != 0 &&

    (p.Field<int?>("Numero2") ?? 0) != 0



In questo caso, Any() restituisce true se esiste almeno una riga in cui:

la colonna ID contiene il valore 1;
la colonna Numero contiene un valore diverso da 0;
la colonna Numero2 contiene un valore diverso da 0.

L'utilizzo di Field<int?>() consente inoltre di gestire eventuali valori DBNull. Grazie all'operatore ?? 0, un eventuale valore NULL viene considerato equivalente a 0.

Nel nostro esempio, poiché Numero vale 4 e Numero2 vale 8, la variabile trovatoElemento assumerà il valore true.

giovedì 24 settembre 2026

C# trasformare un DataRow in un oggetto Ado.NET

In questo frammento di codice, scritto in C# e basato su ADO.NET, vediamo come convertire un DataRow in un oggetto contenente i dati presenti nella riga.

La funzione utilizza la reflection per analizzare le proprietà dell'oggetto e assegnare a ciascuna di esse il valore presente nel DataRow. La corrispondenza viene effettuata utilizzando il nome della proprietà e il nome della colonna: se nel DataRow è presente una colonna con lo stesso nome della proprietà, il relativo valore viene assegnato all'oggetto.

La funzione gestisce inoltre i valori DBNull e tenta di convertire automaticamente il valore della colonna nel tipo della proprietà dell'oggetto.

La funzione per convertire il DataRow in un oggetto

C#

public T DataRowToObject<T>(DataRow riga) where T : new()

{

    T obj = new T();

    var propieta = typeof(T).GetProperties();

 

    foreach (var prop in propieta)

    {

        if (!riga.Table.Columns.Contains(prop.Name))

            continue;

 

        object value = riga[prop.Name];

 

        if (value == DBNull.Value)

        {

            prop.SetValue(obj, null);

            continue;

        }

 

        Type propType = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType;

 

        try

        {

            object convertedValue = Convert.ChangeType(value, propType);

            prop.SetValue(obj, convertedValue);

        }

        catch

        {

                   

            prop.SetValue(obj, value.ToString());

        }

    }

 

    return obj;

}



Esempio di utilizzo

Supponiamo di avere una classe Anagrafica. Possiamo utilizzare la funzione passando come parametro il primo elemento della tabella:

C#
Anagrafica anagrafica = DataRowToObject<Anagrafica>(dttDati.Rows[0]);


In questo modo, le proprietà dell'oggetto Anagrafica verranno valorizzate utilizzando i dati presenti nel DataRow, sulla base della corrispondenza tra i nomi delle proprietà e quelli delle colonne.