2017-03-22 4 views
-1

Ich möchte ein Diagramm von einem WinForm zu einem anderen als Parameter übergeben. Wie kann ich die Daten dieser Diagramme entzerren? Ich mag etwas wie folgen aus:Wie zwei Diagramme zu egalisieren C#

chart1.DataSource=chart2.DataSource; 
+0

Was sind diese Variablen? (welcher Typ) - Wie ordnen Sie die Datenquelle von chart1 an erster Stelle zu? –

+0

An erster Stelle, füllen Sie das Diagramm aus einem Array, aber ich denke, dass es eine Methode existieren muss, um die Daten zwischen zwei Charts auszugleichen. – dbz

+0

Ja, es gibt: 'chart1.DataSource = myArray; chart2.DataSource = myArray; ' –

Antwort

0

Sie

chart1.DataSource = chart2.DataSource; 

ganz gut schreiben können. Aber es wird nicht genug sein.

Sie müssen auch jeden Code hinzufügen, der für die Datenbindung benötigt wird, z. Einstellen der ValueMembers und vielleicht ValueTypes.

Series s1 = chart1.Series[0]; 
Series s2 = chart2.Series[0]; 

s2.XValueMember = s1.XValueMember; 
s2.XValueType = s1.XValueType; 
s2.YValueMembers = s1.YValueMembers; 
.. 

..oder was Sie brauchen.

Und wenn Sie auch andere Eigenschaften kopieren möchten, na ja, natürlich müssen Sie sie auch setzen ..:

chart2.BackColor = chart1.BackColor; 

Sie Reflexion nutzen könnten alle zu finden und kopieren Eigenschaften, aber das ist Overkill. Ich würde eine Funktion schreiben, die die beiden Diagramme als Parameter nimmt und das ganze Klonen durchführt.

Verwandte Themen