Quantcast
Viewing all articles
Browse latest Browse all 4

How do you display a string array in a text box

Hi I am new to C# and I having problems with my first windows form application.

I have data coming in from serial port and have worked out a way of processing and storing the data into 3 different string arrays. What I cant work out is how to display the data in the arrays into their own individual text boxes, I would only want to display the data in the array pointed to by the current index position.

I have 3 text boxes in my windows forms design already they are named:textBoxmag, textBoxlat and textBoxlonI would like to display the variables string[] mag, string[] lat and string[] lon in their corresponding text boxes.

Please help me guys I properly stuck with this even though it may seem simple to you more experienced C# programmers. Below is my code:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        string RxString;// where the raw serial data is stored        string[] mag = new string[1000];//where magnetic data is stored         string[] lat = new string[1000];//where latidude data is stored        string[] lon = new string[1000];///where longitude data is stored         string ends = "\r\n";//end of data sentence identifier        string starts = "G";//start of data sentence identifier        int i; //index lat data         int j;//index lon data        int k;//index mag data        public Form1()        {            InitializeComponent();        }        private void buttonStart_Click(object sender, EventArgs e)        {            serialPort1.PortName = "COM5";//define sierial port in which PIC is connected to            serialPort1.BaudRate = 4800;//set baud rate to match PIC            serialPort1.Open();            if (serialPort1.IsOpen)//if the port is open you can press the start button            {                buttonStart.Enabled = false;//start button disbaled                buttonStop.Enabled = true;//stop button enabled                textBox1.ReadOnly = false;//allow writing in text box            }        }        private void buttondtop_Click(object sender, EventArgs e)        {            if (serialPort1.IsOpen)            {                serialPort1.Close();                buttonStart.Enabled = true;                buttonStop.Enabled = false;                textBox1.ReadOnly = true;            }        }        private void DisplayText(object sender, EventArgs e)        {            textBox1.AppendText(RxString);//add watever is in raw data string to what is already in text box        }        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)//activates when port is open and data in buffer        {            RxString = serialPort1.ReadExisting();//read raw data from serial port into string            this.Invoke(new EventHandler(DisplayText));//invoke allows it to call function diplay text            if (RxString.StartsWith(starts))//if the string starts with "G"            {                if ((RxString.Length > 36))//if there is aleast one string sentence                {                    if (RxString.EndsWith(ends))// if the string ends with "\r\n" process the string                        serialPort1.Close();//close serial port                     lat[i] = RxString.Split(',')[0].Substring(4);// extract latitude store in string array                    i++;//increment index of latitude data array                    lon[j] = RxString.Split(',')[2];// extract longitude store in string array                    j++;//increment index of longitude data array                    mag[k] = RxString.Split(',')[3].Substring(7).Trim();// extract magnetic data store in string array                    k++;//increment index of magnteric data array                    RxString = null;//Reset raw data string                    serialPort1.Open();//open serial port ready for new string sentence                }            }            else RxString = null;// if the raw data string sentence does not start with "G" reset the array           }        private void Form1_FormClosing(object sender, FormClosingEventArgs e)        {            if (serialPort1.IsOpen) serialPort1.Close();        }        private void labellat_Click(object sender, EventArgs e)        {        }        private void label3_Click(object sender, EventArgs e)        {        }    }}

Viewing all articles
Browse latest Browse all 4

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>