myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » String in TextBox ausgeben und aktualisieren
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

String in TextBox ausgeben und aktualisieren

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
benschmoo benschmoo ist männlich
myCSharp.de-Mitglied

Dabei seit: 11.06.2019
Beiträge: 1
Entwicklungsumgebung: Visual Studio C#
Herkunft: Bayern


benschmoo ist offline

String in TextBox ausgeben und aktualisieren

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo, bin totaler Visual Studio Anfänger und habe folgendes Problem:

Ich lese Daten über die Serielle Schnittstelle von meinem Arduino ein, und würde diese gerne in einer textBox ausgeben.
Über die Konsole funktionierts schon gut, jedoch kann ich nichts in die TextBox schreiben.

Hier mal der hierfür interessante Codeteil.

C#-Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;

namespace FocusButton
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Form1_Load();
        }

        private void Form1_Load()

        {

            serialPort1.DataReceived += SerialPort1_DataReceived1;
            serialPort1.Open();
        }

        private void SerialPort1_DataReceived1(object sender, SerialDataReceivedEventArgs e)
        {



            {
                string str = serialPort1.ReadLine();
                Console.WriteLine(str);

            }
            // System.Threading.Thread.Sleep(1000);
        }

        private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void TextBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void Label1_Click(object sender, EventArgs e)
        {

        }

        private void Label2_Click(object sender, EventArgs e)
        {

        }

        private void ComboBox5_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void SerialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {

        }


        private void RichTextBox1_TextChanged(object sender, EventArgs e)
        {
            string str = serialPort1.ReadLine();
            richTextBox1.Text = str;
        }
    }

}

Danke, Bene

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von benschmoo am 12.06.2019 10:02.

11.06.2019 16:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.334
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Bitte den Code einmal sauber formatieren.
So kann diesen niemand lesen und durch deinen Kommentar ist der meiste Code wie auskommentiert.
Bitte Zeilenumbrüche verwenden.

Ebenfalls scheint der Code abgeschnitten bzw. unvollständig zu sein.
Ansonsten vermute ich mal, dass du über die serielle Schnittstelle mal eine Null Terminierung bekommt und diese dann an die Textbox als Text setzt.
Dann ist deine Textbox leer.
Musst du aber mal debuggen bzw. die Bytes wenn möglich direkt loggen lassen.

T-Virus
11.06.2019 17:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
lukasrad02 lukasrad02 ist männlich
myCSharp.de-Mitglied

Dabei seit: 02.06.2019
Beiträge: 4
Entwicklungsumgebung: VS 2017/2019 Community VS Code


lukasrad02 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Was genau möchtst du denn über die TextBox machen?
Wenn der Text, der über den SerialPort reinkommt, angezeigt werden soll, musst du den Code dafür auch in die SerialPort1_DataReceived1()-Methode schreiben, denn jetzt würdest ja dann Text in die TextBox eintragen, wenn der Benutzer in ebendiese etwas eingetippt (->TextChanged-Event) hat. Und da du den Text vom SerialPort bereits in SerialPort1_DataReceived1() ausliest, liefert der erneute Aufruf von ReadLine() in RichTextBox1_TextChanged() dir keinen Text, sprich, sobald Text in die Textbox eingegeben wird, setzt du den wieder auf "".
12.06.2019 15:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Stefan.Haegele Stefan.Haegele ist männlich
myCSharp.de-Mitglied

avatar-3068.jpg


Dabei seit: 13.03.2009
Beiträge: 357
Entwicklungsumgebung: Visual Studio 2010 Ultimat
Herkunft: Untermeitingen


Stefan.Haegele ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Und als Tipp - gib deinen Controls sprechende Namen.. In 2 Jahren weisst du nicht mehr was TextBox1 oder ComboBox 1 für eine Funktion hat.
26.06.2019 07:25 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als 3 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 20.10.2019 20:52