Bonjour,
J'ai créé un contrôle tout simple qui est uniquement constitué d'un bouton. Celui-ci fonctionne parfaitement lorsque je le place sur une form.
A des fin de test uniquement (pour commencer...) j'ai essayé de créer dans le code de mon contrôle une méthode permettant d'ajuster la position de celui-ci en fonction de la résolution de l'écran.
Voici le code de mon contrôle personnalisé :
La méthode Res() ci-dessus permet théoriquement de déplacer le contrôle et son contenu à la nouvelle position lorsque qu'on appelle cette méthode depuis l'appli, j'appelle cette méthode depuis un événement DoubleClick :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 namespace ControlLibrary1 { public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); } public void Res() { this.Location = new Point(0, Screen.PrimaryScreen.WorkingArea.Height / 2); this.button1.Location = new Point(0, Screen.PrimaryScreen.WorkingArea.Height / 2); } } }
Problème.... le contrôle est bien déplacé à la position voulu mais le bouton n'est plus présent dans le contrôle, je suppose donc qu'il est resté à sa position initiale... en tout cas je ne le vois pas... je me retrouve avec un contrôle à la bonne position mais sans bouton alors qu'au départ il y avait bien un bouton et que j'ai déplacé les deux aux mêmes coordonnées. Au départ j'ai testé de ne déplacé que le contrôle, sans déplacer le bouton car ca me paraissait logique vue que le bouton fait partie intégrante du contrôle mais j'avais le même résultat....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private void Form1_DoubleClick(object sender, EventArgs e) { userControl1.Res(); }
Donc je souhaiterais savoir pourquoi cela ne fonctionne pas et si il y a une meilleure méthode, je précise tout de même que je travaille avec le compact framework...
Merci de votre aide...
Partager