Ошибка при разбиении получаемой строки в приложении формы C# Windows - PullRequest
0 голосов
/ 27 апреля 2020

Я новичок ie в приложении C# Windows. Я использую клиентское приложение сервера TCP / IP для передачи и получения данных роботу. Здесь робот - это сервер, а моя Windows форма - это клиент.

Что мне нужно сделать, это разделить полученную строку и вставить в другое текстовое поле. Я использую функцию разделения строк. Я использую form.timer, чтобы разбить строку и вставить ее в текстовое поле. Я пытаюсь поместить два элемента массива в текстовое поле в строках value[0], value[1], но когда я делю обычным способом щелчок по кнопке, это правильно, но если я использую функцию form.timer(), чтобы выполнить операцию разделения несколько раз, я получаю ошибка, "index array is out of bounds". Не знаю, почему я получаю эту ошибку. И мое клиентское приложение сервера работает асинхронно, оно не включает таймер.

private void timer1_Tick(object sender, EventArgs e)
        {
            String[] newer;
            char[] splitchar = { ',' };
            newer = text.Split(splitchar);
            text_BitDeviceDataBlock.Text = Convert.ToInt32(newer[3], 2).ToString() + Environment.NewLine;
            text_BitDeviceDataBlock.Text += Convert.ToInt32(newer[4], 2).ToString();
            text_BitDeviceSizeBlock.Text = newer[5];
            text_BitDeviceNameBlock.Text = newer[2];
}
private void button5_Click(object sender, EventArgs e)
        {
            button5.Enabled = false;
            timer1.Interval = 1000;
            timer1.Start();

        }
...