Невозможно добавить неделю более одного раза для всех меток groupbox.text с помощью метода datetime.AddDays (7) при многократном нажатии кнопки - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь создать приложение календаря в C #, используя приложение Windows Forms. Я наткнулся на проблему при попытке добавить дни к моим ярлыкам groupbox.text более одного раза при нажатии кнопки. Видимо, в первый раз все работает отлично, но когда я нажимаю кнопку во второй раз, ничего не происходит. У меня есть подсказка, это может быть потому, что это не сохраняет новое значение, я назначаю дату, но я не уверен

private void loadDays()
        {
            // Get the current time and display the day
            gbBoks.Text = currentDate.ToString("dd");

            // Get the current time and display the day tomorrow by adding a day
            gbBoks2.Text = currentDate.AddDays(1).ToString("dd");

            gbBoks3.Text = currentDate.AddDays(2).ToString("dd");

            gbBoks4.Text = currentDate.AddDays(3).ToString("dd");

            gbBoks5.Text = currentDate.AddDays(4).ToString("dd");

            gbBoks6.Text = currentDate.AddDays(5).ToString("dd");

            gbBoks7.Text = currentDate.AddDays(6).ToString("dd");

            gbBoks8.Text = currentDate.AddDays(7).ToString("dd");

            gbBoks9.Text = currentDate.AddDays(8).ToString("dd");

            gbBoks10.Text = currentDate.AddDays(9).ToString("dd");
        }

        private void loadNextWeek()
        {
            TimeSpan aWeek = new System.TimeSpan(7, 0, 0, 0);

            // Get the current time and display the day
            gbBoks.Text = currentDate.AddDays(10).ToString("dd");

            // Get the current time and display the day tomorrow by adding a day
            gbBoks2.Text = currentDate.AddDays(11).ToString("dd");

            gbBoks3.Text = currentDate.AddDays(12).ToString("dd");

            gbBoks4.Text = currentDate.AddDays(13).ToString("dd");

            gbBoks5.Text = currentDate.AddDays(14).ToString("dd");

            gbBoks6.Text = currentDate.AddDays(15).ToString("dd");

            gbBoks7.Text = currentDate.AddDays(16).ToString("dd");

            gbBoks8.Text = currentDate.AddDays(17).ToString("dd");

            gbBoks9.Text = currentDate.AddDays(18).ToString("dd");

            gbBoks10.Text = currentDate.AddDays(19).ToString("dd");
        }

        private void loadPreviousWeek()
        {
            gbBoks.Text = currentDate.AddDays(-10).ToString("dd");

            // Get the current time and display the day tomorrow by adding a day
            gbBoks2.Text = currentDate.AddDays(-9).ToString("dd");

            gbBoks3.Text = currentDate.AddDays(-8).ToString("dd");

            gbBoks4.Text = currentDate.AddDays(-7).ToString("dd");

            gbBoks5.Text = currentDate.AddDays(-6).ToString("dd");

            gbBoks6.Text = currentDate.AddDays(-5).ToString("dd");

            gbBoks7.Text = currentDate.AddDays(-4).ToString("dd");

            gbBoks8.Text = currentDate.AddDays(-3).ToString("dd");

            gbBoks9.Text = currentDate.AddDays(-2).ToString("dd");

            gbBoks10.Text = currentDate.AddDays(-1).ToString("dd");
        }

РЕДАКТИРОВАТЬ: кнопка обработки событий

        private void BtnNext_Click(object sender, EventArgs e)
        {
            loadNextWeek();
            lblInfo.Text = "Went one week forward!";
        }

        private void BtnPrevious_Click(object sender, EventArgs e)
        {
            loadPreviousWeek();
            lblInfo.Text = "Travelled one week back!";
        }

        private void BtnRefresh_Click(object sender, EventArgs e)
        {
            loadDays();
            lblInfo.Text = "Returned to starting point!";
        }

Никаких ошибок не произошло, только я ожидал, что дни будут добавлены снова после нажатия кнопки.

(Имейте в виду, что приведенный код - это методы, которые я вызывал в обработчиках событий кнопки)

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