dullbrain
Messages postés29Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention12 novembre 2010
-
8 juin 2010 à 13:32
thepoe
Messages postés30Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention 1 juin 2011
-
30 mars 2011 à 13:48
Bonjour à tous,
désolé pour le titre pas très clair mais c'est difficile à expliquer en quelques mots !
Voici mon problème : je crée un ToolStrip dans lequel je mets divers items, et je définis un menu contextuel de sorte qu'à l'intérieur de ce dernier, en cliquant sur un bouton "Barre d'icônes", cela fasse disparaitre/apparaitre le ToolStrip.
Jusque là, aucun problème, je gère ça avec "ToolStrip1.Visible".
Le souci, c'est que je voudrais que si le ToolStrip n'est pas visible, ce qui est dans ma Form "remonte", un peu comme quand on enlève une des barres sous word, excel, visual etc...; on voit alors la partie principale remonter proportionnellement à la réduction des barres du haut.
J'ai farfouillé dans les propriétés et sur le net mais je n'ai pas réussi à trouver.
De plus, mais c'est secondaire, je me demandais, dans le menu contextuel, comment faire pour qu'à gauche de mon bouton "barre d'icônes", je puisse avoir une petite flèche si la barre est affichée et rien sinon, comme un clic droit sur la barre de menus de Firefox en gros.
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 8 juin 2010 à 17:15
Salut,
je viens d'essayer avec
un ToolStrip comme tu dis
et je me suis rendu compte
que ça s'appliquait comme
le MenuStrip, donc voici comment faire
(à partir d'un nouveau projet vide)
Créer un ToolStrip puis
créer un GroupBox et lui affecter
la valeur Fill de sa propriété Dock
(taper fill ou cliquer sur le rectangle du
millieu), le GroupBox, prendra la taille
de la Form mais n'empietera pas sur le
ToolStrip, alors il te suffira de placer
les éléments (boutons,textbox...ect) comme
tu le souhaite dans le GroupBox et
lorsque tu mettra visible à True
ou False du ToolStrip, le GroupBox
s'adaptera automatiquement à la Form
et les composants contenus dedans
également.
Par contre pour ta seconde demande
je ne l'ai pas bien comprise, tu parles
d'un ContextMenuStrip ?
dullbrain
Messages postés29Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention12 novembre 2010 8 juin 2010 à 17:52
Merci de ta réponse !
Alors j'ai appliqué ta méthode, et effectivement je vois clairement que lorsque le ToolStrip est caché, la GroupBox s'étire vers le haut. Par contre les composants dedans ne remontent pas (j'ai casé un gros bouton pour bien voir, et il reste à la même place).
Est-ce qu'il faudrait indiquer que les éléments appartiennent à la GroupBox ?
Pour ma deuxième question, c'était d'afficher à droite du bouton à l'intérieur du ContextMenuStrip, une petite flèche s'affiche mais j'ai trouvé comment faire.
Pour info c'est :
If ToolStrip1.Visible = False Then
ToolStrip1.Visible = True
BarreDicônesToolStripMenuItem.Checked = True
End If
Voilà, si tu as une autre astuce pour mon problème de décalage des contenus de la GroupBox, merci d'avance :)
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 8 juin 2010 à 18:06
Salut,
oui il faut indiquer que les
éléments appartiennent au GroupBox,
comme je t'ai expliqué , les composants
boutons ect ont directement étés crées dans
le GroupBox donc ont étés validés
comme appartenant au GroupBox...
Sinon j'ai fait des essais pour
que des éléments déjà présents avant
appartiennent au GroupBox et il semblerais
qu'il faille juste les déplacer [u]avec
la souris/u dans le GroupBox pour
qu'ils 'rentrent dedans'...
Voilà cette méthode devrai marcher
mais je suis avec Visual Basic 2008 Express
c'est peut-être pour ça que ça ne
marche pas bien ...
a+
Vous n’avez pas trouvé la réponse que vous recherchez ?
dullbrain
Messages postés29Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention12 novembre 2010 8 juin 2010 à 18:29
J'avais déjà viré tout ce qu'il y avait avant !
En gros j'ai ma Form, plus un menu en haut
J'ai ajouté la GroupBox, et mis la propriété Fill, là pas de souci, elle s'étend bien quand en exécution le ToolStrip n'est plus visible
J'ai ajouté des boutons dessus, par glissé-déposé et par double clic, mais là en exécution, seule la GroupBox se décale, sans incidence sur ce qu'elle contient.
Pourtant j'ai bien suivi tout ce que tu as dit, je vois plus trop !
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 8 juin 2010 à 18:47
Alors il y a peut être un problème au niveau
des anchors, là j'ai mis
Anchor = Bottom pour tous les composants
et ils ne se déplacent plus quand
je cache ou remet le ToolStrip...
Ensuite je remet Anchor = Top, Left
pour tous les composants et là ils
se déplacent...
Essaye ça je pense que les composants
doivent avoir au moins Top en propriété
Anchor pour qu'ils 'suivent' le GroupBox
dullbrain
Messages postés29Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention12 novembre 2010 8 juin 2010 à 18:57
En fait ils étaient déjà tous à Top,Left, j'ai changé pour voir, et quelle que soit la valeur de cette propriété, ça ne changeait rien...
Bref, je te mets des screens des propriétés du GroupBox et d'un button lambda, mais en fait j'ai quasi touché à rien après avoir mis le bouton sur le GroupBox donc je vois pas pourquoi il me décale pas le tout...
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 8 juin 2010 à 19:10
J'ai regardé tes images...
Donc il y a une dernière possibilité
qui est que le MenuStrip ou le ToolStrip
a été crée dans le GroupBox...
Et dans ce cas c'est normal
que les boutons ne se déplacents pas...
Sinon essaye avec un nouveau projet
et crée dans l'ordre le menustrip
puis le toolstrip puis le combobox
en Fill puis un bouton dessus avec dans
le code du clique :
toolstrip1.visible=false:menustrip2.visible=false
lancer l'application puis cliquer sur le bouton
pour voir...
dullbrain
Messages postés29Date d'inscriptionmardi 15 décembre 2009StatutMembreDernière intervention12 novembre 2010 8 juin 2010 à 20:54
Tout d'abord et avant tout, merci de ta patience !
Alors j'ai bien fait comme tu m'as conseillé avec un tout nouveau projet, et là miracle, ça marche. Suite à quoi je me suis demandé d'où venait le problème dans mon projet courant. En fait, tu avais raison, le ToolStrip était dans le GroupBox même quand ce dernier ne semblait pas visuellement le contenir.
Bref, du coup j'ai viré le GroupBox et j'en ai remis un autre en veillant à ce qu'il n'inclue pas le ToolStrip et là impeccable, tous les contrôles sont déplacés comme souhaité !
thepoe
Messages postés30Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention 1 juin 2011 30 mars 2011 à 13:48
Il faut insérer un TableLayoutPanel et créer des colonnes et lignes pour placer les contrôles (en Dock:FILL). Ensuite tu peux gérer les lignes ou colonnes pour que leur taille soit absolue ou relative. et au moment du redimensionnement, tout suit comme voulu. Attention, il faut enlever AutoSize sur certains contrôles.
En espérant que ça puisse aider qqun.
Salut