Exibição de datas: Usando MonthCalendar e DateTimePicker controles
Nesta lição, você aprenderá como exibir a data em um Windows Form.Você também aprenderá a executar uma ação quando um usuário seleciona uma data.
Quando você usa um controle que exibe um calendário, é fácil para os usuários selecionar uma data.O uso desses controles também garante que a data está formatada corretamente.Você pode exibir um calendário com um controle MonthCalendar ou um controle DateTimePicker.
O controle MonthCalendar permite que você exiba um calendário para um ou mais meses.Os usuários podem selecionar uma única data ou um intervalo de datas se você usar esse controle.
O controle DateTimePicker possui dois estados.Por padrão, o controle DateTimePicker aparece como um caixa de texto junto com uma seta suspensa.Quando o usuário clica a seta suspensa, aparece um calendário.O usuário pode selecionar somente uma única data se você usar esse controle.O controleDateTimePicker também permite que você exiba horas, em vez de datas.
O processo usado para recuperar uma data desses controles varia dependendo do controle usado.Use a propriedade Start para um controle MonthCalendar e use a propriedade Value para um controle DateTimePicker.
Tente-o!
Para recuperar uma data e exibi-la em um rótulo.
On the Arquivo menu, clicar Novo projeto.
A caixa de diálogo New Project será exibida.
Clique em Windows Forms Application e em seguida, clique em OK .
Adicionar um Rótulo controle ao formulário, deixando o nome padrão Label1.
Remova o texto da propriedade Textdo controle Label.
Adicionar um MonthCalendar controle ao formulário, deixando o nome padrão MonthCalendar1.
Clique duas vezes no controle MonthCalendar para entrar no manipulador de eventos padrão do Code Editor.
No manipulador de eventos MonthCalendar1_DateChanged, adicione o código a seguir para adicionar itens à lista.
Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionRange.Start)
Retornar ao modo de exibição do Designer e adicionar um DateTimePicker controle ao formulário, deixando o nome padrão DateTimePicker1.
Clique duas vezes no controle MonthCalendar para entrar no manipulador de eventos padrão do Code Editor.
No manipulador de eventos DateTimePicker_ValueChanged, adicione o código a seguir para adicionar itens à lista.
Me.Label1.Text = CStr(Me.DateTimePicker1.Value)
Pressione F5 para executar a página.
Quando o formulário for exibida, clique em uma data no controle MonthCalendar e verifique se a data é exibida no rotular.
Clique na seta suspensa do controle DateTimePicker e selecione uma data.
A data e hora são exibidas no rótulo.
Feche o programa.
Recuperando várias datas
Você pode recuperar um intervalo de datas que está selecionado em um controle MonthCalendar usando as propriedades Start e End de SelectionRange.Por padrão, o número máximo de dias que pode ser selecionado é sete, mas você pode alterar isso pela configuração de propriedade MaxSelectionCount.Você pode determinar se um intervalo está selecionado, verificando se as datas de início e término são iguais.
Para recuperar um intervalo de datas de um controle de calendário mensal
Altere o código no manipulador de eventos MonthCalendar1_DateChanged para o código a seguir.Esse código define o número máximo de dias (duas semanas) que pode ser selecionado no controle.Ele exibe a data de início no rótulo se apenas um dia é selecionado, mas ela exibe um intervalo de datas quando um intervalo está selecionado no controle de MonthCalendar.
Me.MonthCalendar1.MaxSelectionCount = 14 If Me.MonthCalendar1.SelectionRange.Start = _ Me.MonthCalendar1.SelectionRange.End Then Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionStart) Else Me.Label1.Text = Me.MonthCalendar1.SelectionRange.Start & _ " - " & Me.MonthCalendar1.SelectionRange.End End If
Pressione F5 para executar a página.
Quando o formulário for exibido, selecione um intervalo de datas no controle MonthCalendar e verifique se o intervalo de datas é exibido no rótulo.
Feche o programa.
Formatando Datas
Você pode formatar as datas retornadas pelo controle MonthCalendar e o controle DateTimePicker usando a função FormatDateTime.Há diversas constantes que você pode usar para indicar o formato da data:
Constante |
Descrição |
Exemplo (com base no padrão norte-americanoConfigurações regionais em inglês) |
---|---|---|
DateFormat.GeneralDate |
Exibir uma data, um tempo ou ambos.Se for uma data, exibe uma data abreviada.Se houver uma hora parcial, mostrá-la como uma hora longa.Se estiverem presentes, exibir as duas partes. |
22/11/1963 12: 00: 00 PM |
DateFormat.LongDate |
Exibir uma data usando o formato de data longo especificado nas definições regionais do computador. |
22.11.63 |
DateFormat.ShortDate |
Exibir uma data usando o formato de data curto especificado nas definições regionais do computador. |
11/22/1963 |
DateFormat.LongTime |
Exibir um tempo usando o formato de tempo longo especificado nas definições regionais do computador. |
12:00:00 PM |
DateFormat.ShortTime |
Exibir uma hora no formato de 24 horas (hh:mm). |
12:00 |
Para formatar a data do rótulo
Altere o código no manipulador de eventos MonthCalendar1_DateChanged para o código a seguir.Esse código formata a data retornada como uma data por extenso.
Me.MonthCalendar1.MaxSelectionCount = 14 If Me.MonthCalendar1.SelectionRange.Start = _ Me.MonthCalendar1.SelectionRange.End Then Me.Label1.Text = FormatDateTime( _ Me.MonthCalendar1.SelectionStart, _ DateFormat.LongDate) Else Me.Label1.Text = FormatDateTime( _ Me.MonthCalendar1.SelectionRange.Start, _ DateFormat.LongDate) & " - " & FormatDateTime( _ Me.MonthCalendar1.SelectionRange.End, DateFormat.LongDate) End If
Altere o código no manipulador de eventos DatePicker1_ValueChanged para o código a seguir.Esse código formata a data retornada como uma data por extenso.
Me.Label1.Text = FormatDateTime(Me.DateTimePicker1.Value, _ DateFormat.LongDate)
Pressione F5 para executar a página.
Quando a forma for exibida, clique em uma data ou intervalo de datas no controle de MonthCalendar.Verifique se a data ou o intervalo de datas aparece na formato de data longo no rotular.
Clique em uma data no controle DateTimePicker e verifique se que a data do rótulo aparece como uma data por extenso.
Feche o programa.
Próximas etapas
Nesta lição, você aprendeu como recuperar datas selecionadas em controles MonthCalendar e DateTimePickere exibi-los em um Windows Form.Você aprendeu também como exibir um intervalo de datas, e como formatar as datas recuperadas.Na próxima lição, você aprenderá a usar os controles de dados.
Próxima Lesson: Controles de dados: Exibindo dados em controles DataGridView
Consulte também
Referência
DateTimePicker Controlar Overview (Windows Forms)
MonthCalendar Controlar Overview (Windows Forms)
Função FormatDateTime (Visual Basic)
Outros recursos
Criando a aparência do seu programa Visual: Introdução ao Windows Forms