Aktualizacja Windows Forms

0

Witam !

Chcę napisać aplikację, która będzie obsługiwała urządzenie do odczytu pewnego rodzaju TAGÓW. Chciałbym, żeby pracowała cały czas od jej startu i wyświetlała na bieżąco odczytane tagi w okienkach richTextBox. I tu pojawia się moje pytanie: czy żeby aplikacja cały czas aktualizowała wyświetlany wynik muszę skorzystać z programowania wielowątkowego, którego niestety w tym momencie nie znam, czy jest może jakaś inna możliwość aktualizacji wyniku ??

Załączam również swój kod programu:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
using Symbol.RFID3;
using System.Reflection;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
          
            InitializeComponent();
            
        }
        
        private void Form1_Load(object sender, EventArgs e)
        {
           
                string hostname = "172.22.50.2";

                RFIDReader rfid3 = new RFIDReader(hostname, 0, 0);

                rfid3.Connect();
                string test2;
                int test, test3;
                bool test4;
                test2 = rfid3.ReaderCapabilities.ModelName;
                test = rfid3.ReaderCapabilities.NumAntennaSupported;
                test3 = rfid3.ReaderCapabilities.NumGPIPorts;
                test4 = rfid3.ReaderCapabilities.IsUTCClockSupported;

                string tab1 = "ModelName=" + test2;
                string tab2 = "Liczba anten= " + test;
                string tab3 = "Liczba GIPs = " + test3;
                string tab4 = "Zegar UTC = " + test4;

                richTextBox2.Text = tab1;
                richTextBox1.Text = tab2;
                richTextBox3.Text = tab3;
                richTextBox4.Text = tab4;
                

                rfid3.Actions.Inventory.Perform();

                Thread.Sleep(1000);

                rfid3.Actions.Inventory.Stop();

                TagData[] remainingTags = rfid3.Actions.GetReadTags(200);


                for (int nIndex = 0; nIndex < remainingTags.Length; nIndex++)
                {

                    richTextBox5.Text += "Tag nr:" + nIndex + " " + remainingTags[nIndex].TagID + " ";

                    string myString = nIndex.ToString();
                    numericUpDown1.Text = myString;

                }



            }


    }

        }
    

0

Po pierwsze na pewno nie należy korzystać z

Thread.Sleep(1000);

w wątku GUI.

0

Timer

1 użytkowników online, w tym zalogowanych: 0, gości: 1