Definire giorni festivi nell'intervallo tra due datetimepicker

di il
11 risposte

Definire giorni festivi nell'intervallo tra due datetimepicker

Buongiorno,

Sto sviluppando una piccola app personale in visual studio (VB); nel tentativo di implementare e migliorare le funzioni
vorrei aggiungere la possibilità di definire quali giorni sono festivi in un intervallo di giorni contenuto tra due datetimepicker.

Cerco di essere piu' chiaro se sul primo DTP1 imposto il valore 04/02/2021 e sul secondo DTP2 il valore 08/02/2021,
vorrei avere la possibilita' di selezionare manualmente quali date sono festive all'interno di questo intervallo.

Quest'operazione mi servira' successivamente per sviluppare i calcoli.

Avevo pensato ad un input box con l'elenco completo di date e per ogni data un chechbox per selezionare la festività,
il problema è che il range di date è variabile da 1giorno ad un massimo di 30.

Qualcuno saprebbe darmi qualche idea?

grazie in anticipo.

11 Risposte

  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    " range di date è variabile da 1giorno ad un massimo di 30" ,non ho capito, oltre ai giorni non puoi selezionare anche il mese ?

    stai cercando qualcosa di questo tipo https://stackoverflow.com/questions/39784729/how-to-insert-a-checkbox-inside-a-input-password-field ?

    forse questo potrebbe essere uno spunto https://www.c-sharpcorner.com/article/how-to-move-checkboxlist-to-listbox-in-asp-net-using-c-sharp/ ,ciao
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Buongiorno,

    cerco di essere più chiaro, l'utente seleziona due date da calendario(datatimepicker1 e Datatimepicker2),
    io dovrei cercare il modo di stilare la lista di giorni compresi tra queste due date , e dare la possibilità di
    indicare quali giorni siano festivi.

    Se ad esempio:
    DTP1 ha valore : 01/02/2021
    DTP2 ha valore : 05/02/2021

    Dovrei creare una lista con questo format( questa è solo un idea , non so se sia possibile ):

    Data Festivo(?)
    01/02/2021 Si/No
    02/02/2021 Si/No
    03/02/2021 Si/No
    04/02/2021 Si/No
    05/02/2021 Si/No


    Se una o più date vengono indicate come festivo allora devo eseguire dei calcoli diversi in quei giorni, quindi mi serve poter memorizzare i giorni festivi per un successivo controllo.
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Vedi se ti può piacere una CheckedListBox

    https://docs.microsoft.com/it-it/dotnet/api/system.windows.forms.checkedlistbox?view=netframework-4.7
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Buongiorno,

    si è quello che vorrei fare , ma (causa le mie limitate conoscenze) vorrei capire come far creare al programma una lista sulla base delle date selezionate.

    sapreste indirizzarmi su qualcosa da leggere?
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Parti dalla prima data ed aggiungi 1 giorno fino a che arrivi all'ultima data
    .... ma mi sa che sei proprio digiuno
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Esatto, sono proprio alle basi. riesco a fare operazioni molto semplici soltanto.
    comunque vedo di lavorarci e magari poi posto quello che ho fatto.
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Buon pomeriggio,

    allora ho aggiunto l'apertura di un form e crea un check box list ( che è proprio quello che volevo) e la popola.
    
    Private Sub Form_festivi_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            Dim Giorni, k As Date
    
            Giorni = Form1.DateTimePicker1.Value.Date
            While Giorni < Form1.DateTimePicker3.Value.Date
                CLB_festivi.Items.Add(Giorni)
                Giorni = Giorni.AddDays(1)
    
            End While
        End Sub
    End Class
    
    Il problema è che il l'esecuzione continua senza attendere che io possa selezionare i festivi e rimane una semplice finestra con dei valori inseriti.

    oltre questo il problema successivo è : essendo il numero di giorni "festivi" variabile ( da 0 a 30), in che tipo di variabile dovrei memorizzarli per poi poter eseguire un controllo successivo(e sapere quale operazione eseguire in quei giorni) ? una variabile di tipo array?
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    "Il problema è che il l'esecuzione continua senza attendere che io possa selezionare i festivi e rimane una semplice finestra con dei valori inseriti."
    continua e cosa accade ?
    riesci a selezionare i checkbox? se si vuoi riportare la lista di valori al form principale?
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Allora il nuovo "form_Festivi" viene aperto, viene popolata la CLB con i valori compresi tra i due DateTimePicker (esattamente per come vorrei io),
    ma nel frattempo il form1 continua a fare i suoi calcoli e finire tute le operazioni prima che io riesca a selezionare i giorni dalla CLB.

    Diciamo che io dovrei a questo punto, Fermare il form1 attendendo che le date vengano selezionate dal form_festivi(magari fino al click di un btn "Continua"?), successivamente riportarmi tutte le date selezionate sul form1 ed eseguire dei calcoli diversi durante i giorni selezionati.

    Edit : Si riesco a selezionare le date , ma come dicevo sopra tutto il codice è gia' stato eseguito
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Buongiorno,

    qualche news?
  • Re: Definire giorni festivi nell'intervallo tra due datetimepicker

    Buon pomeriggio,

    Alla fine ho scelto di dividere il processo in due Sub, in modo da eseguire la seconda parte di codice soltanto dopo che viene premuto il tasto "ok" dal form_festivi

    form 1
    
    Public Sub Btn_calcola_Click(sender As Object, e As EventArgs) Handles Btn_calcola.Click
            Form_festivi.Show()
    End Sub
    
    
    Public Sub Esegui()
    .....
    ....
    ....
    ....
    End Sub
    
    
    Form_festivi
    
     Public Sub BTN_OK_Click(sender As Object, e As EventArgs) Handles BTN_OK.Click
            Form1.Esegui()
        End Sub
    
    Sembrerebbe fare cio' che mi serve, adesso devo capire come fare a memorizzare le date e controllarle nel primo form,
    ma non riguarda piu' questa discussione, potete chiudere
Devi accedere o registrarti per scrivere nel forum
11 risposte