myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- Rund um die Programmierung (https://www.mycsharp.de/wbb2/board.php?boardid=59)
--- Control Parent Titelzeile in Form ändern (https://www.mycsharp.de/wbb2/thread.php?threadid=120108)


Geschrieben von Onkel Schrottmeier am 22.12.2017 um 12:48:
  Control Parent Titelzeile in Form ändern
Hallo ..

kann mir jemand an einem einfachen Beispiel erklären wie die Zeile Parent.Text="Text" funktioniert ?
Ich möchte verstehen wie Control Parent funktioniert und was beachtet werden muss. Ein einfaches Beispiel mit kleinen Kommentaren würde mir sicher helfen ...

Lieben Gruß von Onkel Schrottmeier


Geschrieben von p!lle am 22.12.2017 um 16:20:
 
Kannst du mal erklären, was du genau vor hast?

Generell gibt es die  Parent-Property unter WinForms für jedes Steuerelement, welches von Control erbt. Die Property kann dabei null sein.

Schaue dir mal den Link an und gucke, ob dir das schon weiter hilft.


Geschrieben von Onkel Schrottmeier am 22.12.2017 um 23:08:
 
.. ich möchte die Titelzeile des Formfensters für eine Ausgabe nutzen. Zum Beispiel möchte ich ein Event benutzen um die Maus-Position anzuzeigen. Das Beispiel

C#-Code:
Parent.Text = e.Location.ToString();

.. funktioniert in dem Programm das schon jemand vor mir geschrieben hatte. Ich habe es selbst versucht und es kommt zu Fehlermeldungen. Dann habe ich

C#-Code:
ActiveForm.Text = e.Location.ToString();

getestet und siehe da es klappt. Jetzt möchte ich einfach verstehen wo der Unterschied ist und warum das erste Beispiel so nicht klappt. Muss ein Objekt erstellt werden oder liegt es an der Art und Weise wie ich mit dem Event umgehe? Ich bin noch nicht so geübt mit Events ( ist Neuland ) .. ein funktionierendes und leichter zu verstehendes Beispiel wäre gut. Der Link war mir bekannt. Ich finde die Beispiele von Mikro... sehr anstrengend und für blutige Anfänger schwer zu verstehen.

Liebe Grüße von Onkel Schrottmeier


Geschrieben von p!lle am 24.12.2017 um 16:53:
 
Die Frage ist nicht so einfach zu beantworten.

Es kommt natürlich darauf an, bei welchem Control du auf die Parent-Property zugreifst.

Im Anhang findest du ein ganz einfaches Fenster mit 2 Button drauf - der eine liegt direkt auf dem Fenster, der andere liegt auf einem Panel. Das Panel liegt auf dem Fenster.
Greifst du nun bei den beiden Button jeweils auf die Parent-Property zu, ist der Parent einmal das Fenster und beim anderen das Panel.

Wenn du über den PanelButton zum Fenster kommen willst, musst du 2x Parent aufrufen:

C#-Code:
panelButton.Parent.Parent

Warum dein Beispiel nicht funktioniert können wir hier so nicht sagen, dafür müssten wir das sehen. fröhlich


Geschrieben von wcseller am 27.12.2017 um 19:24:
 
Um das 'Form' zu finden, in dem ein Control dargestellt wird, eignet sich die Methode FindForm() (siehe  https://msdn.microsoft.com/de-de/library/system.windows.forms.control.findform(v=vs.110).aspx) des Controls deutlich besser als Parent, weil Parent - wie p!llie schon schrieb - nicht zwangsweise das Form sein muss, sondern ein beliebiger Controlcontainer sein kann.


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 18.09.2019 14:25