Question Automatisation creation bouton et Form

Plus d'informations
il y a 13 ans 5 mois #12887 par Dominique Dumont
Bonjour à tous

J'ai déjà trouvé bcp de réponses à mes questions sur ce site mais je suis bloqué sur la fonction add_click sur un boutton!

voici mon script

[void][System.Reflection.Assembly]::LoadWithPartialName(\"System.windows.forms\")

$form_Synchro = new-object Windows.Forms.form
$form_Synchro.Size = new-object System.Drawing.Size @(1000,1000)
$form_Synchro.text = \"SYNCHRO\"
$form_Synchro.KeyPreview = $True

$L=20
$H=40

$commande = New-Object system.data.odbc.odbccommand
$connection = New-Object \"System.data.odbc.odbcconnection\"
$commande.connection = $connection
$dsn = \";\"
$connection.connectionString = $dsn
$connection.open()
$commande.CommandText = \"SELECT free_info FROM empl,division where empl.division_id = division.division_ID and empl.record_status = '1' and type_user_id = 'E' group by free_info\"
$DataAdapter = new-object System.Data.odbc.odbcDataAdapter($commande)
$DataSet = new-object System.Data.DataSet
$DataAdapter.Fill($DataSet)
$button = @()
$form = @()

$I = 0

ForEach ($table in $dataSet.Tables)
{
ForEach ($row In $table.Rows)
{
ForEach ($column in $table.Columns)

{

$row[$column]
$color=$row[$column].substring(5)
$form += @(new-object Windows.Forms.form)
$form[$I].Size = new-object System.Drawing.Size @(1000,1000)
$form[$I].text = $row[$column]
$form[$I].KeyPreview = $True
$form[$I].TabIndex = $I

$boutton += @(new-object System.Windows.Forms.Button)
$boutton[$I].Text = $row[$column]
$boutton[$I].Location = new-object System.Drawing.Size($L,$H)
$boutton[$I].size = new-object System.Drawing.Size(110,30)
$boutton[$I].backcolor = [System.Drawing.Color]::Green
$boutton[$I].TabIndex = $I
$form_Synchro.Controls.Add($boutton[$I])

$boutton[$I].add_click({$form[$I].Add_Shown({$form[$I].Activate()})
[void]$form[$I].showdialog() })
$I ++
$L=$L+120
}
}
}

$Form_synchro.Add_Shown({$form_Synchro.Activate()})
[void]$form_Synchro.showdialog()


c'est la commande $boutton[$I].add_click qui pose problème

si vous avez une idée merci de partager

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12892 par Laurent Dardenne
Salut,
Domelo écrit:

qui pose problème

Quel problème ?

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12893 par Dominique Dumont
Bonjour Laurent,

Le problème est que quand je suis dans la forme et que je clique sur un bouton, normalement il doit m'ouvrir le form associée à ce bouton et il m'ouvre tjs le même form! je pense que c'est du à la définition du add_click boutton[$I].add_click car fatalement une fois le script terminé $I à une valeur bien définie

J'espère que j'ai été clair :-)

Bien à toi

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12894 par Laurent Dardenne
Il me semble avoir déjà vu ce pb, le code de ton scriptblock référence tjr la variable $I et pas la valeur contenue, et donc pointe tjr sur la même valeur, la dernière. A confirmer.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12895 par Dominique Dumont
Effectivement je l'ai vu aussi mais j'aimerai une solution pour arriver à contourner le problème un click sur un bouton ouvre un form particulier pour ce bouton!

Le problème c'est que je peux avoir 100 boutons :-)

dans ce cas écrire 100 fois une commande add_click ne va pas m'amuser ;-)

Merci pour ton aide rapide

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 5 mois #12896 par Laurent Dardenne
Une solution à étudier.
Ton code étant lié à la base il est impossible pour d'autre de le tester.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.051 secondes
Propulsé par Kunena