Question [Form Converter][V0.5] Nouvelle version
- Laurent Dardenne
- Auteur du sujet
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
MerciBravo pour ton travail !
Robin écrit:
Qu'il soit fiable et pratique ce sera déjà pas malCe convertisseur va devenir une véritable référence
Bon après pas mal d'essais, voici la forme retenue pour la gestion des événements WinForm:
[code:1]
function OnClick_BtnAbandon($Sender,$e){
#On efface le contenu de la liste
$LstBxVisualisation.Items.Clear()
}
$BtnAbandon.Add_Click( {OnClick_BtnAbandon $BtnAbandon $EventArgs} )
[/code:1]
L'avantage est qu'on peut réutiliser les traitements au lieu de les laisser dans un scriptblock d'une méthode sensée appeler le gestionnaire d'événement.
[code:1]
$FrmVisuHst.Add_Shown(
{
$FrmVisuHst.Activate()
#On affiche directement la boite de dialogue Loadfile
OnClick_bntLoadFile $FrmVisuHst $EventArgs
}
)
[/code:1]
Et permet de tester quel est le composant qui déclenche l'événement
[code:1]
else
{ #Si l'appelant est l'événement $FrmVisuHst.Add_Shown alors on clôt la fenêtre
#Si l'appelant est $bntLoadFile alors on laisse cette fenêtre active
if ($this -eq $FrmVisuHst)
{$FrmVisuHst.Close()}
}
}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Auteur du sujet
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
voici les dernières améliorations apportées :
le script gére désormais le fichier ressource d'une Winform (Form1.resx), on peut donc inclure des toolbar ou des bitmap
Sur 10 projets de tests Winform, 8 sont correctement convertis.
Je vous livre une nouvelle version d'ici qq jours. Il me reste à ajouter la génération automatique du fichier de ressources...
Il reste à tester les menus et les Datagrid une fois ceci fait ce sera je pense un script très utile!<br><br>Message édité par: BatchMan, à: 24/03/08 20:37- Corrections :
- l'imbrication de controls (panel) est possible.
- de l'analyse autour du mot \"Layout\", certains événements d'une Winform contiennent ce mot
- de la reconnaissance de Regex autour des énumérations C#.
A l'origine on ne prenait en compte que 4 délimiteurs, aujourd'hui on ne tient plus compte
du nombre de délimiteurs :
origine :
[System.Windows.Forms.DialogResult]::Cancel
correction :
[System.Drawing.SystemColors]::MenuBar
[System.Drawing.Forms.MonthCalendar.HitArea]::Vertical
- Ajout :
- Ajout de la gestion du fichier de ressources (Images BMP,Gif,ico,...)
- Vérification des chemin d'accés
- Vérification des prérequis (Commande/Scripts/Fonctions)
- prise en charge des différentes déclarations d'une propriété Font (6 surcharges ):
C#: this.label1.Font = new System.Drawing.Font(\"Arial Black\", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
PS: $label1.Font = new-object System.Drawing.Font(\"Arial Black\", 9.75,[System.Drawing.FontStyle]::Bold,[System.Drawing.GraphicsUnit]::Point, 0)
- prise en charge de la déclaration d'un appel de méthode static FromArgb :
C#: this.CaseàCocher.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
PS: $CaseàCocher.FlatAppearance.MouseDownBackColor = [System.Drawing.Color]::FromArgb(192,255,192)
- Contrôle sur la présence du composant System.Windows.Forms.WebBrowser. S'il est présent -> exception
- de la gestion de tous les événements déclarés
- par défaut des événements add_actived et FormClosing
- [switch] $DontLoad. Ne génére pas le code de chargement des assemblies, cas d'une form secondaire.
- Modifications :
- La gestion des déclarations des propriétés Font et Anchor a nécessité une itération supplémentaire
sur la totalité des lignes à convertir. Certaines déclarations peuvent être sur 3 lignes.
A l'origine le script partait du principe qu'une suite d'instruction était sur une seule ligne .
- On utilise des ArrayList au lieu de tableau (redimensionnement possible) et des StringBuilder
- suite aux remarque de Janel : nom de script normé (Convert-Form), suppression de variables
temporaires inutiles (nom de fichier en double)
Tutoriels PowerShell
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Auteur du sujet
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Tutoriels PowerShell
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Contributions à la communauté
- [Form Converter][V0.5] Nouvelle version