So erstellen Sie einen Verweis auf eine Struktur in C #

8

in meiner Anwendung Ich habe ein LineShape-Steuerelement und ein benutzerdefiniertes Steuerelement (im Wesentlichen eine PictureBox mit Label).

Ich möchte, dass die LineShape eine ihrer Punktkoordinaten entsprechend der Position des benutzerdefinierten Steuerelements ändert.

Ich hatte eine Idee, einen Verweis auf einen Linienformpunkt innerhalb des benutzerdefinierten Steuerelements festzulegen und einen Ereignishandler für den Standortwechsel hinzuzufügen, der die Koordinaten des Referenzpunkts ändert.

Allerdings ist in Punkt gebaut eine Struktur, die ein Werttyp ist, so dass es nicht funktioniert. Hat jemand eine Idee, wie man einen Bezug zu einer Struktur herstellt oder vielleicht jemand einen Workaround für mein Problem kennt?

Ich habe die Lösung für die Verwendung des Nullable-Typs ausprobiert, aber es funktioniert immer noch nicht. So definiere ich das Feld in meinem benutzerdefinierten Steuerelement (DeviceControl):

%Vor%

Und Implementierung des Ereignishandlers für die Standortänderung:

%Vor%     
Maksymilian Chwałek 27.09.2011, 09:29
quelle

2 Antworten

7

Sie können Werttypen als Referenz übergeben, indem Sie bei der Übergabe einer Methode 'ref' hinzufügen.

so:

%Vor%     
hcb 27.09.2011, 09:33
quelle
0

Ihre Methode benötigt keinen "Referenz" -Zugriff auf das mConnectionPoint-Mitglied. Sie können die Positionswerte direkt dem referenzierten Point als Mitglied Ihrer Klasse zuweisen:

%Vor%

Wenn jedoch der Grund für diesen Code darin besteht, das LineShape-Steuerelement zu verschieben, sollten Sie direkt zur Quelle gehen. Um die Eigenschaften eines Steuerelements zu ändern, müssen Sie nur die Eigenschaften des Steuerelements ändern:

%Vor%     
user3642319 19.06.2015 20:40
quelle

Tags und Links