Como: Controle de navegação de mês em um controle calendário do servidor Web

Por padrão, o calendário exibe o mês que contém a data de hoje.Os usuários podem mover de mês a mês no Calendar controlar, clicando em links de navegação do mês na BAR de título do calendário. Você pode controlar se esses links estão disponíveis para o usuário clicar.

Você também pode navegar por meio de programação, que é útil se você desejar fornecer um modo alternativo para os usuários exibirem um mês específico.Finalmente, você pode responder a um evento gerado enquanto o usuário navega.

Para ativar ou desativar navegação por mês pelo usuário.

  • Definir a propriedade ShowNextPrevMonth do controle Calendar para true ou false.Se a propriedade for false, o controle não exibe os controles LinkButton no título, que permitem que um usuário se mova entre meses.

    Dica:

    Você pode alterar a aparência dos hiperlinks de navegação do mês, definindo o NextMonthText, PrevMonthText, NextPrevFormat, e NextPrevStyle Propriedades.

Para navegar pelos meses por meio de programação

  • Definir a propriedade VisibleDate do controle para uma data no mês que você deseja exibir.A data pode ser qualquer dia dentro desse mês mas normalmente é definida para o primeiro dia do mês.Se a propriedade VisibleDate está vazia (se ela estiver definida como DateTime.Empty), o mês visível no momento é derivado do valor da propriedade TodaysDate.

    O exemplo a seguir navega para fevereiro de 2000:

    Calendar1.VisibleDate = New Date(2000, 2, 1)
    
    Calendar1.VisibleDate = new DateTime(2000, 2, 1);
    

    Alterar a propriedade VisibleDate não tem efeito sobre os valores das propriedades TodaysDate, SelectedDayStyle ou SelectedDates.

Se a navegação por mês estiver ativada, o controle gera um evento quando o usuário move para outro mês.Você pode manipular esse evento para substituir ou corrigir a navegação por mês padrão.Por exemplo, se você estiver usando dois controles Calendar em uma página de planejamento de viagem, você pode impedir que o usuário defina o mês data de início depois do mês da data de término.

Para responder a um evento de navegação por mês

  • Criar um método para o evento VisibleMonthChanged do controle.Quando este evento é gerado, o controle já alterou a propriedade VisibleMonth em 1.

    O evento VisibleMonthChanged leva um único argumento do tipo MonthChangedEventArgs.Você pode usar as seguintes propriedades deste argumento para determinar ou substituir o que o usuário está fazendo:

    Propriedade

    Descrição

    PreviousDate

    O valor do mês que foi exibido antes de o usuário clicar um botão de navegação por mês.Você pode comparar o valor desta propriedade com a propriedade VisibleMonth do controle para determinar a direção na qual o usuário está navegando.Para cancelar o efeito de clique do usuário, defina a propriedade VisibleDate do controle para este valor.

    NewDate

    O valor do mês para o qual o usuário navegou.A propriedade VisibleDate é atualizada para este valor antes do evento VisibleMonthChanged ser gerado.

    Public Sub Calendar1_VisibleMonthChanged(ByVal sender As Object, _
       ByVal e As System.Web.UI.WebControls.MonthChangedEventArgs) _
       Handles Calendar1.VisibleMonthChanged
    
       ' Select the 10th and 25th of each month.
       Calendar1.SelectedDates.Clear()
       Calendar1.SelectedDates.Add(New DateTime(e.NewDate.Year, e.NewDate.Month, 10))
       Calendar1.SelectedDates.Add(New DateTime(e.NewDate.Year, e.NewDate.Month, 25))
    End Sub
    
    private void Calendar1_VisibleMonthChanged (object sender, 
       System.Web.UI.WebControls.MonthChangedEventArgs e)
    {
         // Select the 10th and 25th of each month.
         Calendar1.SelectedDates.Clear();
         Calendar1.SelectedDates.Add(new DateTime(e.NewDate.Year, e.NewDate.Month, 10));
         Calendar1.SelectedDates.Add(new DateTime(e.NewDate.Year, e.NewDate.Month, 25));
    }
    

Consulte também

Conceitos

Visão geral sobre controle do Servidor Web de calendário