Ich habe ein Panel-Steuerelement mit einem Label und Textbox nebeneinander. In bestimmten Übersetzungen wird das Etikett zu lang und ich versuche GetChildAtPoint
zu verwenden, um zu bestimmen, wann das Etikett zu lang geworden ist und es angemessen zu kürzen (ich weiß, es gibt andere/bessere Wege, aber ich bin etwas eingeschränkt in meiner Herangehensweise) Möglichkeit).GetChildAtPoint respektiert nicht ZOrder
Ich habe habe den Index und die Markierung 41, während die Textbox 0 ist
ich panelControl.GetChildAtPoint(new Point(labelControl.Location.X + labelControl.Width, labelControl.Location.Y))
verwenden, um zu versuchen und festzustellen, ob das Etikett zu lang ist oder nicht, aber aus irgendeinem Grund, der obige Code gibt die Label-Steuerelement anstelle des Textfelds.
In debug, labelControl.Location
= 566, 305 und textBoxControl.Location
= 716, 290. Das Label-Steuerelement hat eine Breite von 202
ich diesen Ansatz Arbeit in anderen Fällen gesehen habe und kann keine Unterschiede hier sehen, so Ich bin mir nicht sicher, warum es in diesem Szenario nicht funktioniert.
Die zur Verfügung gestellten Werte von Debugging/Laufzeit sind. Ich bin mir nicht sicher, was ich sonst noch für Sie haben soll. – Trent
Die Standorte sind die tatsächlichen Daten richtig? Können Sie auch kalkulatorische Daten eines neuen Punktes angeben (labelControl.Location.X + labelControl.Width, labelControl.Location.Y) – zquanghoangz
768.305 (Textfeldbreite ist über 200) – Trent