OVH Cloud OVH Cloud

Problème avec le code généré automatiquement

2 réponses
Avatar
CooL6a
Bonjour,
J'ai deux problèmes avec mon interface:
1- dans la partie du code généré par Visual studio, j'avais les propriétés
clairement écrites par exemple:
Button1.Text = "salut", maintenant j'ai Button1.Text =
resources.GetString("Button1.Text"); ce qui me rend la tache difficile quand
je veux changé une propriété à la main sans être dépendant de visual studio
pour le faire car je ne sais pas ou les modifier, j'ai vu qu'il y a un
fichier ressources.dll qui est généré avec le .exe, mais je ne sais pas
comment accéder à son contenu et j'aimerai bien savoir comment éviter la
génération de ce fichier.

2- J'ai des contrôles que même si je les déplacent dans le design, à
l'exécution ils regagnant leurs anciennes places!!!!!!!!!!!!!!!!!! donc y a
plus de wysiwyg (What You See Is What you Get) mais wysiNwyg (What You See
Is Not What you Get) !!!!!!!!!!!!!

Rq : le fichier ressources.dll est généré dans un répertoire fr, et ça est
arrivé quand j'ai changé un jour la valeur de la propriété Language de la
Form, mnt meme si j'ai retourné à la valeur par défaut de cette propriété
(Laguage = indifferent), le dossier fr se génère toujours (avec le fichier
ressources.dll à l'intérieur) !!!!!!!!!!!!!!!

Merci pour votre aide.

2 réponses

Avatar
Frédéric Queudret [MS]
Bonjour,

Vous avez modifié la propriété langage et de ce fait rendu votre fenêtre
"localisable" c'est à dire pouvant affichée un texte suivant la culture de
l'utilisateur.
L'ensemble des paramètres de votre fenêtre se trouve donc dans un fichier de
ressources localisées, propres à la culutre (french, english, etc).
Pour faire apparaître ces fichiers dans Visual Studio, dans l'explorateur de
solutions, sélectionnez votre projet et cliquez sur le bouton "Show All
Files" dans la barre de commandes de l'explorateur de solutions (bouton à
côté du bouton raffraichir).
Ensuite, sur la fenêtre correspondante, cliquez sur le "+" pour étendre les
fichiers de ressources de la fenêtre. Vous verrez un fichier ....fr.resx.
Double-cliquez sur ce fichier et l'éditeur de ressources apparaîtra dans
l'environnement de développement.
C'est à partir de là que vous pouvez modifier les paramètres de la fenêtre.
Le point 2 trouve sa réponse dans l'explication précédente.
Vous modifiez la position des boutons et autres objets mais comme leur
valeur est stockée dans le fichier de ressources invariant, les paramètres
utilisées sont ceux spécifiés dans le fichier de ressources localisés (je ne
sais pas si je suis clair) et les contrôles reviennent donc à la place
spécifiée dans le fichier de ressources localisé.
Quoi qu'il en soit, pour revenir en arrière (fenêtre non
localisable/localisée), dans les propriétés de la fenêtre, positionnez
"False" sur la propriété "Localizable".

Frédéric.


"CooL6a" wrote in message
news:
Bonjour,
J'ai deux problèmes avec mon interface:
1- dans la partie du code généré par Visual studio, j'avais les propriétés
clairement écrites par exemple:
Button1.Text = "salut", maintenant j'ai Button1.Text > resources.GetString("Button1.Text"); ce qui me rend la tache difficile
quand
je veux changé une propriété à la main sans être dépendant de visual
studio
pour le faire car je ne sais pas ou les modifier, j'ai vu qu'il y a un
fichier ressources.dll qui est généré avec le .exe, mais je ne sais pas
comment accéder à son contenu et j'aimerai bien savoir comment éviter la
génération de ce fichier.

2- J'ai des contrôles que même si je les déplacent dans le design, à
l'exécution ils regagnant leurs anciennes places!!!!!!!!!!!!!!!!!! donc y
a
plus de wysiwyg (What You See Is What you Get) mais wysiNwyg (What You See
Is Not What you Get) !!!!!!!!!!!!!

Rq : le fichier ressources.dll est généré dans un répertoire fr, et ça est
arrivé quand j'ai changé un jour la valeur de la propriété Language de la
Form, mnt meme si j'ai retourné à la valeur par défaut de cette propriété
(Laguage = indifferent), le dossier fr se génère toujours (avec le fichier
ressources.dll à l'intérieur) !!!!!!!!!!!!!!!

Merci pour votre aide.




Avatar
CooL6a
Merci pour votre aide,
j'ai mis la valeur de la propriété Localizable à false et la propriété
Language à Indifferent et les contrôles retrouvent leurs emplacements au
moment de l'exécution comme voulu, mais il y a deux problèmes maintenant:
1- Le panel qui doit être affiché en premier ne s'affiche pas mais un autre
qui est affiché donc la logique aplicative de l'appli n'est plus là.
2- Il génère toujours le dossier des ressources "fr" et le fichier
Appliressources.dll même s'il n'est plus utilisé (Localizable = false et
dans le code il y a Button1.Text = "salut";) !!


"Frédéric Queudret [MS]" a écrit dans le
message de news:
Bonjour,

Vous avez modifié la propriété langage et de ce fait rendu votre fenêtre
"localisable" c'est à dire pouvant affichée un texte suivant la culture de
l'utilisateur.
L'ensemble des paramètres de votre fenêtre se trouve donc dans un fichier


de
ressources localisées, propres à la culutre (french, english, etc).
Pour faire apparaître ces fichiers dans Visual Studio, dans l'explorateur


de
solutions, sélectionnez votre projet et cliquez sur le bouton "Show All
Files" dans la barre de commandes de l'explorateur de solutions (bouton à
côté du bouton raffraichir).
Ensuite, sur la fenêtre correspondante, cliquez sur le "+" pour étendre


les
fichiers de ressources de la fenêtre. Vous verrez un fichier ....fr.resx.
Double-cliquez sur ce fichier et l'éditeur de ressources apparaîtra dans
l'environnement de développement.
C'est à partir de là que vous pouvez modifier les paramètres de la


fenêtre.
Le point 2 trouve sa réponse dans l'explication précédente.
Vous modifiez la position des boutons et autres objets mais comme leur
valeur est stockée dans le fichier de ressources invariant, les paramètres
utilisées sont ceux spécifiés dans le fichier de ressources localisés (je


ne
sais pas si je suis clair) et les contrôles reviennent donc à la place
spécifiée dans le fichier de ressources localisé.
Quoi qu'il en soit, pour revenir en arrière (fenêtre non
localisable/localisée), dans les propriétés de la fenêtre, positionnez
"False" sur la propriété "Localizable".

Frédéric.


"CooL6a" wrote in message
news:
> Bonjour,
> J'ai deux problèmes avec mon interface:
> 1- dans la partie du code généré par Visual studio, j'avais les


propriétés
> clairement écrites par exemple:
> Button1.Text = "salut", maintenant j'ai Button1.Text > > resources.GetString("Button1.Text"); ce qui me rend la tache difficile
> quand
> je veux changé une propriété à la main sans être dépendant de visual
> studio
> pour le faire car je ne sais pas ou les modifier, j'ai vu qu'il y a un
> fichier ressources.dll qui est généré avec le .exe, mais je ne sais pas
> comment accéder à son contenu et j'aimerai bien savoir comment éviter la
> génération de ce fichier.
>
> 2- J'ai des contrôles que même si je les déplacent dans le design, à
> l'exécution ils regagnant leurs anciennes places!!!!!!!!!!!!!!!!!! donc


y
> a
> plus de wysiwyg (What You See Is What you Get) mais wysiNwyg (What You


See
> Is Not What you Get) !!!!!!!!!!!!!
>
> Rq : le fichier ressources.dll est généré dans un répertoire fr, et ça


est
> arrivé quand j'ai changé un jour la valeur de la propriété Language de


la
> Form, mnt meme si j'ai retourné à la valeur par défaut de cette


propriété
> (Laguage = indifferent), le dossier fr se génère toujours (avec le


fichier
> ressources.dll à l'intérieur) !!!!!!!!!!!!!!!
>
> Merci pour votre aide.
>
>