PictureBox effacée

Résolu
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008 - 18 avril 2005 à 12:33
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008 - 19 avril 2005 à 16:50
Salut tout l'monde
Je code en C# et j'ai un problème avec mes pictureBoxes, enfait, j'ai des boutons dans lesquels j'ai mis des petites pictureBoxes. Les boutons ne sont pas cliquables (c'est pour le BorderStyle flat qu'ils sont là) et ce sont les PictureBoxes que l'on clique. Mais tout cela marche sans souci...Là ou je me bats depuis presque 2h c'est que la fenêtre peut être redimensionnée, or, une scrollBar s'affiche dans le Panel qui contient les boutons lorsque celui ci devient trop petit...Le ScrollBat empiète sur un morceau des boutons, et les images sont 'mangées'...J'ai essayé d'agrandir la largeur du panel mais bon...c'est pas la bonne solution non plus...dans les 2 cas, soit les images sont grignotées soit elle disparaissent complètement...

J'ai pensé à faire un truc du genre dans la méthode Resize() du Panel, mettre pictBox1.Refresh(), pictBox2...etc mais ça ne marche pas...problème de localisation du bout de code? problème de (re)paint? je ne sais pas trop...j'ai lu par ci par là qu'on disposait d'une méthode repaint (enfin surtout en VB...) donc voilà si quelqu'un pourrait m'aider ce serait gentil svp :-D

merci beaucoup

"Un seul Être vous manque, et tout est dépeuplé..."

6 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 avril 2005 à 12:47
Tu dis que tu utilises des boutons non
cliquables, juste pour avoir un BorderStyle.Flat autour de la
pictureBox, c'est a dire une "bordure" ?


Parce qu'a ce moment la, override la méthode OnPaint de ton picture box
pour dessiner la bordure toi meme, ce sera quand meme plus propre ;)





public class MyPictureBox : PictureBox


{


public MyPictureBox() : base()


{


}





protected override void OnPaint(PaintEventArgs e)


{


base.OnPaint(e);


Pen p = new Pen(Color.Black, 2.0f);


e.Graphics.DrawRectangle(p, 1, 1, Width - 2, Height - 2);


}


}



Mx

Mx
3
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
18 avril 2005 à 12:50
moui j'avais pensé à fairez autre chose, mais bon...je débute en fait, lol et puis bon, les picturebox sont tout p'tit, c des ptits carrés en forme de fleches et les boutons sont bien plus grands...merci en tous cas pour ton info :) dès queje résouds mon problème de refresh je teste ;)

"Un seul Être vous manque, et tout est dépeuplé..."
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 avril 2005 à 12:56
Et tu ne peux pas utiliser la propriété Image de ton bouton ?

Mx
0
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
18 avril 2005 à 12:58
j'y ai aussi pensé:
en fait j'ai essayé de bidouiller un truc du genre j'ai fais un screenshot du même bouton mais sans texte, j'en fais un avec la fleche qui descend un avec la fleche qui monte...mais ca me donnait pas un truc super...je vais tout de même retenter cette solution, c'est ce que j'allais m'apprêter à faire...merci de m'aider en tous cas c'est sympa :)

"Un seul Être vous manque, et tout est dépeuplé..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
18 avril 2005 à 14:15
Bon ben en fait j'ai réussi à bidouiller comme j'ai pu, et ça marche pour l'appli que je veux faire...Donc c'est bon (en fait vu que je limite la taille de la form à 800x600 au minimum, je la crée avec une taille de 800x600 donc en mode développement elle est de cette taille, mais comme je la maximise au lancement, après s'il veut la réduire, ca restera à 800x600, donc ça gênera pas les images vala!)

Merci en tous cas

"Un seul Être vous manque, et tout est dépeuplé..."
0
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
19 avril 2005 à 16:50
Merci MorpionMX pour ton info sur le override de paint, je m'suis fais aidé mais c'est effectivement plus propre ;)

"Un seul Être vous manque, et tout est dépeuplé..."
0
Rejoignez-nous