/// <summary> /// Erzeugt das GUIChanged Event. /// </summary> /// <param name="e"></param> protected void OnObjectParametersChanged(ObjectParametersEventArgs e) { if (ObjectParametersChanged != null) { ObjectParametersChanged(this, e); } }
//Eventhandler für eine Änderung der Werte des GUIs (Form1) private void DriveParcour_ObjectParametersChanged(object sender, ObjectParametersEventArgs e) { //Invoke Required ist nötig, da nur der Thread der hier die Form erzeugt hat, etwas am //GUI ändern darf. Wenn dieser Thread aktiv ist, ist InvokeRequired = false und das GUI wird aktualisiert //Ansonsten wenn ein anderer Thread zugreifen will, ist das InvokeRequired = true und die //ObjectParametersChanged Methode muss nochmals aufgerufen werden vom richtigen Thread. Das geschieht im //Code unten nach der If-Anweisung Invoke(new.....) if (InvokeRequired) { Invoke(new EventHandler <ObjectParametersEventArgs>(DriveParcour_ObjectParametersChanged), sender, e); } else { //Länge und Breite auf GUI anzeigen inklusive Stringkonkatenation textBoxLänge.Text = (e.LengthObject).ToString("F3") + " m"; //"F3" muss zwingend im ToString stehen //--> gibt Zahl mit drei Nachkommastellen an textBoxBreite.Text = (e.WidthObject).ToString("F3") + " m"; } }