[Frage2] Visual Basic Formen

02/11/2015 15:41 zKMaxxu#1
Guten tach ,

Eine frage ist dennoch offen :P , Wie kann ich Meine das Laber in der Form2 ( Wo das Label auf Visible = False ) gestellt ist mit meiner Form1 (auf Visible = True) stellen ? Also mit Form1 Etwas in Form2 verändert , steuern sozusagen .
Habe auch schon massig gegooglet & in Foren nachgesehen , dennnoch nichts gefunden das ich so verwenden bzw. anwenden könnte ...

danke im vorraus !
02/11/2015 16:58 warfley#2
Form2.Label1.Text = "Penis"
02/12/2015 19:43 Mostey#3
Quote:
Originally Posted by warfley View Post
Form2.Label1.Text = "Penis"
Funktioniert nicht weil Controls innerhalb einer Form nicht public sind.

Generell ist es unsauber, von einer Form aus die Eigenschaften einer anderen zu verändern weil andere Menschen (wenn es die gibt) diesen Code nicht in einer anderen Form erwarten. Zudem bildest du damit unnötige Abhängigkeiten und was machst du mal, wenn sich die Funktion komplett ändert? Wenn du also die Eigenschaft Visible nicht auf true, sondern auf false setzen möchtest? Gehst du dann jede Stelle durch, bei der du das tust? So etwas ist zu vermeiden.

Was genau möchtest du denn tun? Ich würde dafür eine Funktion in Form2 definieren, dort das gewünschte Verhalten der Controls definieren und diese nur innerhalb von Form1 aufrufen, wenn der Kontext das erlaubt. Aber ohne Informationen dazu kann man nicht sagen, ob das angemessen ist.
02/12/2015 20:59 zKMaxxu#4
Quote:
Originally Posted by Mostey View Post
Funktioniert nicht weil Controls innerhalb einer Form nicht public sind.

Generell ist es unsauber, von einer Form aus die Eigenschaften einer anderen zu verändern weil andere Menschen (wenn es die gibt) diesen Code nicht in einer anderen Form erwarten. Zudem bildest du damit unnötige Abhängigkeiten und was machst du mal, wenn sich die Funktion komplett ändert? Wenn du also die Eigenschaft Visible nicht auf true, sondern auf false setzen möchtest? Gehst du dann jede Stelle durch, bei der du das tust? So etwas ist zu vermeiden.

Was genau möchtest du denn tun? Ich würde dafür eine Funktion in Form2 definieren, dort das gewünschte Verhalten der Controls definieren und diese nur innerhalb von Form1 aufrufen, wenn der Kontext das erlaubt. Aber ohne Informationen dazu kann man nicht sagen, ob das angemessen ist.

Zum Beispiel :

Mit meiner Form1 möchte ich verschiedene Label anzeigen , Wenn ich die Checkbox aktiviere , sieht man das Label , wenn ich sie deaktiviere , verschwindet es . Die Form2 Sollte dabei Transparent sein , sodass man auf seinen Bildschirm wirklich nur das Label sieht (bzw. die schrift) .
02/12/2015 21:44 warfley#5
Quote:
Generell ist es unsauber, von einer Form aus die Eigenschaften einer anderen zu verändern weil andere Menschen (wenn es die gibt) diesen Code nicht in einer anderen Form erwarten. Zudem bildest du damit unnötige Abhängigkeiten und was machst du mal, wenn sich die Funktion komplett ändert? Wenn du also die Eigenschaft Visible nicht auf true, sondern auf false setzen möchtest? Gehst du dann jede Stelle durch, bei der du das tust? So etwas ist zu vermeiden.
ich hatte keine große Lust Jemanden der nicht weiß wie man auf ein anderes Formular zugreift die Grundlagen der Datenkapselung zu erklären

Quote:
Originally Posted by zKMaxxu View Post
Zum Beispiel :

Mit meiner Form1 möchte ich verschiedene Label anzeigen , Wenn ich die Checkbox aktiviere , sieht man das Label , wenn ich sie deaktiviere , verschwindet es . Die Form2 Sollte dabei Transparent sein , sodass man auf seinen Bildschirm wirklich nur das Label sieht (bzw. die schrift) .
Dann solltest du eher per Gdi auf das Desktop Handle Zeichnen
02/12/2015 21:46 Mostey#6
Dann definierst du in Form2 eine Funktion (public) die sich selbst transparent macht und rufst diese Funktion von Form1 aus auf.

@warfley
Habe ich mir schon gedacht, darum ging es aber nicht. Der Zugriff auf Controls anderer Formen ist halt nicht möglich.
02/13/2015 18:30 zKMaxxu#7
Werde ich mal versuchen , danke euch !
02/14/2015 21:32 anonymous-29742#8
Dim LabelTest as new Label
LabelTest.Text = "LOLOLOL TEST"
LabelTest.width = 100
LabelTest.height = 20
LabelTest.Backcolor = Color.Red
LabelTest.Forecolor = Color.Black
LabelTest.Location = New Point(200,200)

hab das jz noch nicht getestet,
sollte aber eig. gehen.
02/15/2015 16:52 Mostey#9
Quote:
Originally Posted by #Lucas# View Post
Dim LabelTest as new Label
LabelTest.Text = "LOLOLOL TEST"
LabelTest.width = 100
LabelTest.height = 20
LabelTest.Backcolor = Color.Red
LabelTest.Forecolor = Color.Black
LabelTest.Location = New Point(200,200)

hab das jz noch nicht getestet,
sollte aber eig. gehen.
Wie soll das bitte funktionieren? Es geht um den Zugriff auf ein Control in einer anderen Form.
02/15/2015 21:18 zKMaxxu#10
Das so etwas " Simples" so viel Kopfzerbrechen bereiten kann :/
02/16/2015 22:17 stotterer09#11
Quote:
Originally Posted by zKMaxxu View Post
Das so etwas " Simples" so viel Kopfzerbrechen bereiten kann :/
deine frage wurde doch schon beantwortet :)
02/17/2015 22:29 Dr.Toni#12
Quote:
Originally Posted by stotterer09 View Post
deine frage wurde doch schon beantwortet :)
Das ist ihm mit Sicherheit bewusst.
Meiner Meinung nach möchte er sehr wahrscheinlich einen fertigen Code damit er nicht nachdenken muss.

C&P rules.
02/20/2015 20:29 zKMaxxu#13
Quote:
Originally Posted by Dr.Plastik.' View Post
Das ist ihm mit Sicherheit bewusst.
Meiner Meinung nach möchte er sehr wahrscheinlich einen fertigen Code damit er nicht nachdenken muss.

C&P rules.
Wär natürlich einfacher gewesen , aber nein hab schon alles , hatte es nur vergessen hier zu "vermerken" :rolleyes:
Danke nochmals !
03/02/2015 19:14 Mafia67#14
Quote:
Originally Posted by #Lucas# View Post
Dim LabelTest as new Label
LabelTest.Text = "LOLOLOL TEST"
LabelTest.width = 100
LabelTest.height = 20
LabelTest.Backcolor = Color.Red
LabelTest.Forecolor = Color.Black
LabelTest.Location = New Point(200,200)

hab das jz noch nicht getestet,
sollte aber eig. gehen.
Wenn schon Public und nicht Dim