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
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.
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)); }