PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# Seriell visualizer problem



gamerpaddy
21.11.2012, 00:53
Hey, ich bastel mir ein programm welches serielle daten in eine visuelle tabelle konvertiert.

Ich dachte mir dass so: ich sende mit dem Arduino ein code
<value1>-<value2> wobei Value1 von 0 bis 180 geht und value2 von 0 bis 3500
Jetzt brauch ich ein Diagram welches 180 spalten hat, und je nach wert (0-3500) die höhe oder Farbe ändert.

Ich hab in C# schon so etwas versucht zu machen, aber ich bekomme keine serielle verbindung her geschweige denn, die daten vom CommunicationsLibrary.cs nach frameMain.cs zu schieben & zu visualisieren
(der aufruf der picturebox1 von communicationslibrary.cs wäre auch hilfreich.. nur bekomm ichs nicht hin..)

Kennt da jemand ein programm, dass das kann?
Ist jemand bereit sich eine halbe Stunde ranzusetzen, eines zu machen?

Ich versuche mal die fragen etwas anders zu formulieren:
ich habe eine frame.cs (main, das hauptprogramm) und eine com.cs (comport library, was das connecten und auslesen vereinfacht..)
In der frame.cs wird die com.cs so deklariert:

Com c = new Com();
in der com.cs ist
Frame f = new Frame(); nicht eingetragen, weil es sonst eine endlosschleife gibt..
Nur wie rufe ich jetzt in der com.cs die picturebox1 auf, die in frame.cs definiert wurde?!

Bin mit C# nicht ganz vertraut.. Genausowenig mit java

monky2k6
21.11.2012, 14:04
Übergib die PictureBox einfach beim instanziieren der Klasse.

Also:
Du erstellst in der Klasse Com eine Variable namens "PictureBoxLink".
Dann erstellst du/überschreibst du die Instanziierungs-Funktion der Klasse. Bedeutet, du schreibst in die Com.cs folgendes:


Picturebox PictureBoxLink;
public Com(ref Picturebox picbox)
{
PictureBoxLink = picbox;
}


Nun schreibst du in die Frame.cs anstatt

Com c = new Com();
das hier

Com c = new Com(ref NameDerPictureBox);

Damit gibst du die PictureBox als Referenz an die Klasse mit. Das bedeutet das du auf die PictureBox in der Klasse Com.cs genau so zugreifen kannst wie in der Form.cs.