Visual basi c. NET - Показать количество дней в выбранном месяце - PullRequest
0 голосов
/ 01 мая 2020

Я новичок в VB, и я хотел бы создать программу, которая: когда я ввожу номер месяца (в поле ввода), он говорит мне, сколько дней в этом месяце, и если я ввожу неправильный месяц говорит мне об «ошибке».

Public Class Form1
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim months As String
        months = InputBox("What is the number of the month?", "Months", , , )

    End Sub
End Class

Программа пока

1 Ответ

1 голос
/ 02 мая 2020

Вы ищете DateTime.DaysInMonth () .

Вам нужно будет проанализировать вводимые пользователем данные в целое число с помощью Int32.TryParse(), а затем передать полученное целое число в DaysInMonth() вместе с текущим годом, к которому можно получить доступ через DateTime.Now.Year

Пример:

Dim userMonth As String
' Prompt the user to enter the month and assign it to userMonth.

Dim iMonth As Integer = 0
If Int32.TryParse(userMonth, iMonth) AndAlso (iMonth >= 1 And iMonth <= 12) Then
   Dim iDaysInMonth As Integer = DateTime.DaysInMonth(DateTime.Now.Year, iMonth)
   Dim sMonthName As String = Microsoft.VisualBasic.DateAndTime.MonthName(iMonth)
   MessageBox.Show($"Days in month {sMonthName}: {iDaysInMonth}")
Else
   MessageBox.Show($"Invalid month specified: {userMonth}", "Error")
End If

Вы также не можете проверить значение iMonth и обернуть вызов DateTime.DaysInMonth() в блок try / catch, так как он выдаст ArgumentOutOfRangeException, если iMonth неверно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...