none
C# - If - Funktion zur Prüfung der Location eines Panels? RRS feed

  • Frage

  • Hallo,

    vorneweg erstmal, ich bin noch ein totaler Anfänger was C# anbelangt. Ich möchte mit einer If-Funktion prüfen ob sich ein Panel an einer bestimmten Location befindet. Kann mir jemand eventuell sagen wie das geht? Im Prinzip soll es auf Deutsch machen:

    Wenn das Panel an einer bestimmten Stelle ist, soll dieses eine bestimmte Funktion ausführen.

    Hoffe mir kann da jemand helfen.

    Liebe Grüße

    Samstag, 30. April 2016 22:06

Antworten

  • Hallo Felix,

    ich gehe mal von Windows Forms aus, wobei ähnlich bei WPF laufen würde.

    Variante 1 Du prüfst die X, Y Koordinate:

                Control theControl = this.pictureBox1; // gerade kein Panel dabei
                Point controllocation = theControl.Location;
                if (controllocation.X == 47 && controllocation.Y == 11)
                {
                    // tue was
                }
    

    Variante 2 Du verwendest eine Point Struktur:

                Point controlPoint = new Point(47, 11); // kann statisch/global hinterlegt werden
                if (controllocation == controlPoint)
                {
                    // tue was
                }

    Wenn Mauskoordinaten bzw. geschachtelte Steuerelemente dazu kommen sind die Koordinaten-Systeme zu beachten, siehe dazu Windows Forms-Koordinaten.

    Wenn Du nicht punktgenau arbeiten willst, kannst, weil sich die Position sich in einem Bereich befinden kann/darf, so kannst Du anstatt der Point Struktur eine Rectangle Struktur verwenden und eine Überschneidung mittels Intersect bzw. Contains bestimmen. (Das überlasse ich Dir als Übung.)

    Gruß Elmar

    Sonntag, 1. Mai 2016 07:36
    Beantworter