Résolu
WinForm - TextBox
- axel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 2 ans 2 mois - il y a 2 ans 2 mois #31705
par axel
WinForm - TextBox a été créé par axel
Bonjour à tous,
Je suis confronté à un petit problème que je n'arrive pas à résoudre. Pouvez-vous m'aider SVP ?
Que je vous explique : je travaille sur un WinForm pour pouvoir installer de nouveau ordinateur en permettant tous les postes de la même façon. Le but étant d'uniformiser les installations en utilisant un visuel graphique pour que ce soit plus simple pour tout le monde.
Et donc voici une partie de mon code
Et donc quand je clic sur le bouton OK, il me met le message d'erreur suivant:J'avoue que je n'arrive pas bien a comprendre pourquoi il me refuse le renommage de l'ordinateur
Je suis confronté à un petit problème que je n'arrive pas à résoudre. Pouvez-vous m'aider SVP ?
Que je vous explique : je travaille sur un WinForm pour pouvoir installer de nouveau ordinateur en permettant tous les postes de la même façon. Le but étant d'uniformiser les installations en utilisant un visuel graphique pour que ce soit plus simple pour tout le monde.
Et donc voici une partie de mon code
$Form = New-Object System.Windows.Forms.Form
$Hostname_textBox = New-Object System.Windows.Forms.TextBox
Hostname_textBox.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 109
$System_Drawing_Point.Y = 15
$Hostname_textBox.Location = $System_Drawing_Point
$Hostname_textBox.Name = "Hostname_textBox"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 20
$System_Drawing_Size.Width = 100
$Hostname_textBox.Size = $System_Drawing_Size
$Hostname_textBox.TabIndex = 2
$Hostname_textBox.TextAlign = 2
$Hostname_textBox.text = [system.environment]::MachineName
$Hostname_textBox.MaxLength = 16
$Form.Controls.Add($Hostname_textBox)
$OK_button.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 217
$System_Drawing_Point.Y = 12
$OK_button.Location = $System_Drawing_Point
$OK_button.Name = "OK_button"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 57
$OK_button.Size = $System_Drawing_Size
$OK_button.TabIndex = 25
$OK_button.Text = "OK"
$OK_button.UseVisualStyleBackColor = $True
$OK_button.add_Click($OK_button_OnClick)
$Form.Controls.Add($OK_button)
$OK_button_OnClick= {
Rename-Computer -Newname $Hostname_textBox -Force
}
Et donc quand je clic sur le bouton OK, il me met le message d'erreur suivant:
Rename-Computer : Ignorez l’ordinateur «Laptop1» dont le nouveau nom est «System.Windows.Forms.TextBox, Text: PC-01» car ce dernier n’est pas valide. Le format du nouveau nom d’ordinateur est incorrect. Les noms standard peuvent
contenir des lettres (a-z, A-Z), des chiffres (0-9) et des tirets (-), mais pas d’espaces ou de points (.). Le nom ne peut pas se constituer entièrement de chiffres et contenir plus de 63caractères.
Dernière édition: il y a 2 ans 2 mois par axel.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 2 ans 2 mois #31712
par Philippe
Réponse de Philippe sur le sujet WinForm - TextBox
salut Axel
c'est très probablement un problème de portée de variable ,
essai avec $script:Hostname_textBox
c'est très probablement un problème de portée de variable ,
essai avec $script:Hostname_textBox
Les utilisateur(s) suivant ont remercié: axel
Connexion ou Créer un compte pour participer à la conversation.
- axel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 2 ans 2 mois #31713
par axel
Réponse de axel sur le sujet WinForm - TextBox
Salut Philippe
Merci pour l'info et voici ce que j'ai mis:Mais lorsque j'exécute, il me metIl est possible que je n'ai pas tout compris sur la portée de variable
Merci pour l'info et voici ce que j'ai mis:
OK_button_OnClick= {
Rename-Computer -Newname $Script:Hostname_textBox
}
Rename-Computer : Impossible de valider l'argument sur le paramètre « NewName ». L’argument est Null ou vide. Indiquez un argument qui n’est pas Null ou vide et réessayez.
+ Rename-Computer -Newname $Script:Hostname_textBox
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData : (:) [Rename-Computer], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.RenameComputerCommand
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Hors Ligne
- Membre elite
Réduire
Plus d'informations
- Messages : 186
- Remerciements reçus 37
il y a 2 ans 2 mois - il y a 2 ans 2 mois #31717
par ericlm128
Réponse de ericlm128 sur le sujet WinForm - TextBox
Rename-Computer -Newname $Hostname_textBox.Text -Force
Dernière édition: il y a 2 ans 2 mois par ericlm128.
Connexion ou Créer un compte pour participer à la conversation.
- axel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 2 ans 1 mois #31731
par axel
Réponse de axel sur le sujet WinForm - TextBox
Super ! Merci cela fonctionne parfaitement.
Maintenant si je souhaite que le changement du hostname se fasse en fonction d'un ComboBox c’est-à-dire:
Prenons un exemple, le PC est pour la compta, je crée un combBoxPuis je crée une listeJ'aimerais que mon hostname commence par un trigramme du service choisi
Une idée ?
Maintenant si je souhaite que le changement du hostname se fasse en fonction d'un ComboBox c’est-à-dire:
Prenons un exemple, le PC est pour la compta, je crée un combBox
$service = New-Object System.Windows.Forms.ComboBox
$Client.DataBindings.DefaultDataSourceUpdateMode = 0
$service.FormattingEnabled = $True
$service.Items.Add("compta")|Out-Null
$service.Items.Add("direction")|Out-Null
$service .Items.Add("direction")|Out-Null
Une idée ?
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Hors Ligne
- Membre elite
Réduire
Plus d'informations
- Messages : 186
- Remerciements reçus 37
il y a 2 ans 1 mois #31735
par ericlm128
Réponse de ericlm128 sur le sujet WinForm - TextBox
Voici un exemple simple
$Form = New-Object System.Windows.Forms.Form
$Hostname_textBox = New-Object System.Windows.Forms.TextBox
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 109
$System_Drawing_Point.Y = 12
$Hostname_textBox.Location = $System_Drawing_Point
$Hostname_textBox.Name = "Hostname_textBox"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 20
$System_Drawing_Size.Width = 100
$Hostname_textBox.Size = $System_Drawing_Size
$Hostname_textBox.TabIndex = 2
$Hostname_textBox.TextAlign = 2
$Hostname_textBox.text = [system.environment]::MachineName
$Hostname_textBox.MaxLength = 16
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 217
$System_Drawing_Point.Y = 12
$OK_button = New-Object System.Windows.Forms.Button
$OK_button.Location = $System_Drawing_Point
$OK_button.Name = "OK_button"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 57
$OK_button.Size = $System_Drawing_Size
$OK_button.TabIndex = 25
$OK_button.Text = "OK"
$OK_button.add_Click($OK_button_OnClick)
$OK_button_OnClick= {
#Rename-Computer -Newname $Hostname_textBox -Force
if ($combobox.SelectedItem)
{
# Récupère le Trigramme de l'objet selectionné
Write-Host "$($combobox.SelectedItem.Trigramme.ToString())#$($Hostname_textBox.Text)"
}
}
$combobox = New-Object System.Windows.Forms.ComboBox
$combobox.Location = New-Object System.Drawing.Point(109, 40)
$combobox.Size = New-Object System.Drawing.Size(150, 23)
$combobox.DropDownStyle = [System.Windows.Forms.ComboBoxStyle]::DropDownList
# Membre à afficher
$combobox.DisplayMember = "Name"
# crée la liste
$a = @("compta", "CPT"), @("direction", "DIR")
# Peuple la combobox
$a | ForEach-Object {
$obj = [PSCustomObject]@{
Name = $_[0]
Trigramme = $_[1]}
$null = $combobox.Items.Add($obj)
}
$Form.Controls.Add($Hostname_textBox)
$Form.Controls.Add($OK_button)
$Form.Controls.Add($combobox)
$Form.ShowDialog()
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.079 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- WinForm - TextBox