2 Stimmen

Rastersteuerung

Ich wurde damit beauftragt, ein Steuerelement zu erstellen, das Hotspots hat, die das Ziehen und Ablegen von Bildern ermöglichen. Diese Positionen ändern sich je nachdem, was auf das Steuerelement gezogen wird. Nach dem Ablegen des Bildes auf dem Steuerelement muss es die Möglichkeit haben, sich an eine neue Position zu bewegen (entweder durch Ziehen und Ablegen oder mit den Pfeiltasten).

Das beste Beispiel für diese Funktion, das mir einfällt, ist der Microsoft Windows-Desktop. Wenn Sie ein Symbol ziehen, können Sie es an einer beliebigen Stelle ablegen (rastet am nächstmöglichen Hotspot ein). Ich verwende .net 3.5 mit C#.

Ich bin auf der Suche nach Ideen, um mit dem Prototyping dieser Steuerung zu beginnen.

Was ist die beste Winform-Steuerelement zu erben, oder ist ein benutzerdefiniertes Steuerelement von Grund auf der einzige Weg zu gehen?

1voto

Adam Robinson Punkte 176996

Ich bin mir ziemlich sicher, dass Sie Ihre eigene Kontrolle implementieren müssen, vorausgesetzt, es gibt nicht bereits eine Lösung von Dritten. Was Ihre Logik betrifft, so müssen Sie lediglich eine Kollisionserkennung implementieren. Ich kann Ihnen nicht genau sagen, wie dies in Ihrer Anwendung funktionieren wird, da dies von mehreren Variablen abhängt (sind die Hotspots von fester Größe? Sind sie in einem symmetrischen Raster angeordnet, usw.). Wenn sie alle in einem symmetrischen Muster angeordnet sind, sollten Sie in der Lage sein, mathematische Funktionen zu verwenden, um ein gegebenes X,Y-Paar in einen bestimmten Hotspot zu verwandeln. Wenn sie unterschiedliche Größen und Layouts haben, müssen Sie wahrscheinlich Ihre Sammlung von Hotspot-Rechtecken (oder zumindest eine Teilmenge dieser Sammlung) durchsuchen, um das Rechteck zu finden, das Ihren Punkt enthält.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X