Benutzer mit den meisten Antworten
Farbe ändern in der Reiter Überschrift sowie Variable übergeben für den zweiten reiter

Frage
-
Hallo und guten Morgen,
- Ich versuche wenn das alle Felder ausgefühlt sind das die Überschrift in Grün hinterlegt wird, In dem Beispiel ist nur ein Feld vorhanden.
- Würde gern, wenn eine Eingabe erfolgt ist und ich dann auf dem zweiten Tab klicke (bzw. Öffne) das dann die Eingabe übernommen wird und im Feld ersichtlich ist, so dass man die Eingabe ggf. Anpassen kann.
Ist das beides möglich? Habe schon einiges versucht nur irgendwie bekomm ich das nicht hin :-(.
Hier ein Beispiel, vielleicht kann mir ja dabei jemand helfe, lieb Frag :-O.
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null $form1 = New-Object System.Windows.Forms.Form $statusBar1 = New-Object System.Windows.Forms.StatusBar $tabControl1 = New-Object System.Windows.Forms.TabControl $tabPage1 = New-Object System.Windows.Forms.TabPage $comboBox1 = New-Object System.Windows.Forms.ComboBox $tabPage2 = New-Object System.Windows.Forms.TabPage $button1 = New-Object System.Windows.Forms.Button $form1.Text = "Test" $form1.Name = "form1" $form1.DataBindings.DefaultDataSourceUpdateMode = 0 $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 284 $System_Drawing_Size.Height = 262 $form1.ClientSize = $System_Drawing_Size $tabControl1.TabIndex = 0 $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 228 $System_Drawing_Size.Height = 162 $tabControl1.Size = $System_Drawing_Size $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 23 $System_Drawing_Point.Y = 35 $tabControl1.Location = $System_Drawing_Point $tabControl1.DataBindings.DefaultDataSourceUpdateMode = 0 $tabControl1.Name = "tabControl1" $tabControl1.SelectedIndex = 0 $form1.Controls.Add($tabControl1) $tabPage1.TabIndex = 0 $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 220 $System_Drawing_Size.Height = 136 $tabPage1.Size = $System_Drawing_Size $tabPage1.Text = "Test TAB 1" $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 4 $System_Drawing_Point.Y = 22 $tabPage1.Location = $System_Drawing_Point $System_Windows_Forms_Padding = New-Object System.Windows.Forms.Padding $System_Windows_Forms_Padding.All = 3 $System_Windows_Forms_Padding.Bottom = 3 $System_Windows_Forms_Padding.Left = 3 $System_Windows_Forms_Padding.Right = 3 $System_Windows_Forms_Padding.Top = 3 $tabPage1.Padding = $System_Windows_Forms_Padding $tabPage1.Name = "tabPage1" $tabPage1.DataBindings.DefaultDataSourceUpdateMode = 0 $tabControl1.Controls.Add($tabPage1) $Input1Label = New-Object System.Windows.Forms.Label $Input1Label.Location = New-Object System.Drawing.Size(10,40) $Input1Label.Size = New-Object System.Drawing.Size(80,20) $Input1Label.Text = "Eingabe 1" $tabPage1.Controls.Add($Input1Label) $Input1TextBox = New-Object System.Windows.Forms.TextBox $Input1TextBox.Location = New-Object System.Drawing.Size(10,60) $Input1TextBox.Size = New-Object System.Drawing.Size(80,20) $Input1TextBox.Text = "" $tabPage1.Controls.Add($Input1TextBox) Function Variable { $global:Input1=$OdnerAnlegenButton.Text } Function Reset { $Input1 = "" $Input1TextBox.Text = "" } $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(10,90) $OKButton.Size = New-Object System.Drawing.Size(50,23) $OKButton.Text = "OK" $tabPage1.Controls.Add($OKButton) $OKButton.Add_Click({Variable}) $ResetButton = New-Object System.Windows.Forms.Button $ResetButton.Location = New-Object System.Drawing.Size(65,90) $ResetButton.Size = New-Object System.Drawing.Size(50,23) $ResetButton.Text = "Reset" $tabPage1.Controls.Add($ResetButton) $ResetButton.Add_Click({Reset}) $CloseButton = New-Object System.Windows.Forms.Button $CloseButton.Location = New-Object System.Drawing.Size(120,90) $CloseButton.Size = New-Object System.Drawing.Size(50,23) $CloseButton.Text = "Close" $tabPage1.Controls.Add($CloseButton) $CloseButton.Add_Click({$Form1.Close();{return}}) $tabPage2.TabIndex = 1 $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 220 $System_Drawing_Size.Height = 136 $tabPage2.Size = $System_Drawing_Size $tabPage2.Text = "Test TAB 2" $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 4 $System_Drawing_Point.Y = 22 $tabPage2.Location = $System_Drawing_Point $System_Windows_Forms_Padding = New-Object System.Windows.Forms.Padding $System_Windows_Forms_Padding.All = 3 $System_Windows_Forms_Padding.Bottom = 3 $System_Windows_Forms_Padding.Left = 3 $System_Windows_Forms_Padding.Right = 3 $System_Windows_Forms_Padding.Top = 3 $tabPage2.Padding = $System_Windows_Forms_Padding $tabPage2.Name = "tabPage2" $tabPage2.DataBindings.DefaultDataSourceUpdateMode = 0 $tabControl1.Controls.Add($tabPage2) $Input2Label = New-Object System.Windows.Forms.Label $Input2Label.Location = New-Object System.Drawing.Size(10,40) $Input2Label.Size = New-Object System.Drawing.Size(200,20) $Input2Label.Text = "Eingabe 2 übernommen aus TAB 1" $tabPage2.Controls.Add($Input2Label) $Input2TextBox = New-Object System.Windows.Forms.TextBox $Input2TextBox.Location = New-Object System.Drawing.Size(10,60) $Input2TextBox.Size = New-Object System.Drawing.Size(200,20) $Input2TextBox.Text = "" $tabPage2.Controls.Add($Input2TextBox) $form1.ShowDialog()| Out-Null
Gruss
Markus
Antworten
-
Hallo Markus,
das kannst du mit dem add_Keyup Event abfangen:
# add_KeyUp Event startet jedes Mal, wenn du eine Taste im Eingabefeld drückst $Input1TextBox.add_KeyUp( { # wenn etwas im Eingabefeld steht, if ($Input1TextBox.Text -ne ''){ # Text auf Grün setzten $Input1Label.ForeColor = 'Green' # Text auf Tab2 übernehmen $Input2TextBox.Text = $Input1TextBox.Text } else{ # wenn nichts im Eingabefeld steht, Farbe wieder auf Schwarz setzen $Input1Label.ForeColor = 'Black' } } )
Gruß,
- Als Antwort markiert mku72 Dienstag, 19. April 2016 05:47
-
Die Textfarbe der Tab-Elemente lässt sich ohne tiefere C# Kenntnisse leider nicht ändern, da muss du dir etwas anderes überlegen.
Bitte nicht vergessen meinen ersten Beitrag als Antwort zu markieren.
- Als Antwort markiert mku72 Dienstag, 19. April 2016 05:47
Alle Antworten
-
Hallo Markus,
das kannst du mit dem add_Keyup Event abfangen:
# add_KeyUp Event startet jedes Mal, wenn du eine Taste im Eingabefeld drückst $Input1TextBox.add_KeyUp( { # wenn etwas im Eingabefeld steht, if ($Input1TextBox.Text -ne ''){ # Text auf Grün setzten $Input1Label.ForeColor = 'Green' # Text auf Tab2 übernehmen $Input2TextBox.Text = $Input1TextBox.Text } else{ # wenn nichts im Eingabefeld steht, Farbe wieder auf Schwarz setzen $Input1Label.ForeColor = 'Black' } } )
Gruß,
- Als Antwort markiert mku72 Dienstag, 19. April 2016 05:47
-
Hallo psott,
super das eine geht genau, so wie ich es mir dachte, schön blöd von mir hatte das hier vergessen, aber logisch natürlich.
$Input2TextBox.Text = $Input1TextBox.Text
Das andere ist es soll nicht die Überschrift $Input1Label.ForeColor = 'Green' geändert werden
sondern dieser Text soll mit dem Hintergrund Green stehen wenn die Eingabe erfolgt ist.
$tabPage1.Text = "Test TAB 1"
Ist dies auch möglich?
Gruss
Markus
- Bearbeitet mku72 Montag, 18. April 2016 11:53
-
Die Textfarbe der Tab-Elemente lässt sich ohne tiefere C# Kenntnisse leider nicht ändern, da muss du dir etwas anderes überlegen.
Bitte nicht vergessen meinen ersten Beitrag als Antwort zu markieren.
- Als Antwort markiert mku72 Dienstag, 19. April 2016 05:47