Bonjour,
J'aimerais savoir comment faire un menu vertical en C# style 'oulook' que l'on peut collapser du genre :
J'espère pouvoir trouver de l'aide, merci
Eome
Bonjour,
J'aimerais savoir comment faire un menu vertical en C# style 'oulook' que l'on peut collapser du genre :
J'espère pouvoir trouver de l'aide, merci
Eome
L'ideal est de rechercher sur le net des controles deja existants:
http://www.codeproject.com/cs/menu/#Menus
http://vbaccelerator.com/home/NET/Co...ar/article.asp
http://vbaccelerator.com/home/NET/Co...tBar/index.asp
etc...
salut
plutot "simple"
1 : Un UserControl qui correspondra a ton élément de base (à savoir un en tete et un panel qui contiendra ce que tu voudras y mettre)
2 : Un UserControl dans lequel tu pourras ajouter des ItemdeBase
Après, à toi de gérer le Dock automatique vers le haut par exemple
Et de mettre une méthode pour un objet de base qui aggrandit ou rétrécit l'élément suivant ce que tu voudras faire
Pour info, le code suivant te servira pour faire en sorte que ton Usercontrol de base puisse accepter de se voir ajouter des éléments dans son panel...
Ou panel1 est mon panel que j'ai ajouté
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 [Designer(typeof(OutlookItemDesigner))] public partial class OutlookItem : UserControl { private int defaultHeight = 0; private bool collapsed = false; public OutlookItem() { InitializeComponent(); } [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public Panel MyChildPanel { get { return panel1; } } protected override void OnParentChanged(EventArgs e) { base.OnParentChanged(e); defaultHeight = Height; } private void ItemBtn_Click(object sender, EventArgs e) { collapsed = (collapsed) ? false : true; UpdateLook(); } private void UpdateLook() { if (collapsed) { Height = ItemBtn.Height; } else { Height = defaultHeight; } } } public class OutlookItemDesigner : ControlDesigner { public override void Initialize(System.ComponentModel.IComponent component) { base.Initialize(component); OutlookItem uc = component as OutlookItem; EnableDesignMode(uc.panel1, "MyChildPanel"); uc.panel1.MouseEnter += new EventHandler(panel1_MouseEnter); } }
The Monz, Toulouse
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
ou encore Syncfusion
Je l'ai utilisé et en garde un bon souvenir
Juste pour finaliser mes dire
Faire un tel composant, c'est pas forcément compliqué. Tout dépend de ce que tu veux obtenir comme look et du mode de fonctionnement que tu veux.
En règle général, je dirais que faire un composant Usercontrol, c'est plutot "simple" en .Net.
après, on cela se complexifie et prend du temps et donc, potentiellement mieux vaut acheter un composant tout fait, c'est si tu dois gérer plein de mode de fonctionnement, d'affichage, de look, etc...
Car souvent , les composant que tu peux acheter te proposer moult option de configuration, etc... facilité d'utilisation (genre tu Drag&Drop les controles dans ta barre Outlook plutot que d'ajouter par code par exemple). Ou bien, des bordures de tailles variables, ou bien gestion d'icones, etc..)
Bref, si ton composant est simple avec peu d'option, je dirais que quelqu'un maitrisant un peu .Net te le fera en 1 journée voir un poil moins (toujours en fonction des options, etc...)
Si tu veux que je te le fasse... avec un cahier des charges et un peu de sous, ca doit être possible (facture possible bien sur )
The Monz, Toulouse
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
On profitepour se faire des sous???Si tu veux que je te le fasse... avec un cahier des charges et un peu de sous, ca doit être possible (facture possible bien sur )
En fait j'ai juste proposé syncfusion, sinon s'il peut coder celà lui même, il y gagnerait beaucoup et je sais qu'en la matière tu es super doué lol
je proposais juste de l'aide, comme ça en passant
The Monz, Toulouse
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager