2017-04-17 3 views
0

J'ai besoin de créer un formulaire personnalisé qui ressemble à celui de Microsoft par défaut.Comment utiliser System.Drawing.Pen?

Actuellement, je travaille sur la personnalisation des boutons de la barre de titre.

Pour cela j'ai utilisé les méthodes graphiques pour dessiner les boutons.

Veuillez trouver le code que j'ai utilisé pour dessiner le bouton Agrandir.

g.DrawRectangle(new Pen(Color.Black), maxIconRect); 

Mais je n'arrive pas à obtenir l'apparence exacte du formulaire Microsoft.

Dans l'image ci-dessous, le 1er est la barre de titre créée par moi. Le deuxième est la barre de titre du formulaire Microsoft.

Caption bar

Vous pouvez voir la différence agrandir et réduire le bouton. L'épaisseur et la clarté des boutons sont différentes pour ces deux formes.

J'ai essayé de spécifier la largeur du stylo comme indiqué ci-dessous.

Var pen = new Pen(Color.Black, 0.5F); 

Mais il n'y a pas de différence dans l'apparence.

Pouvez-vous s'il vous plaît fournir votre suggestion pour y parvenir?

Merci d'avance.

+0

Juste par curiosité, pour quel système d'exploitation, vous développez cet outil? – Anil

+4

Ceci n'a rien à voir avec le stylo. La différence est liée à la question du programme qui est «sensible au dpi». Recherchez Stack Overflow pour ce sujet pour voir ce qui est nécessaire dans votre programme pour le rendre compatible ppp, de sorte que Windows permette à votre programme de dessiner à la résolution d'écran réelle, au lieu de la dessiner à une résolution inférieure. adapter l'écran. –

+0

Il est pour Windows 10. –

Répondre

-1

désactiver l'anticrénelage et de faire thiner bits de ligne devrait faire l'affaire

modifier/explication (tho, sur X anticrénelage est doit avoir!): quelque part en vous OnPaint méthode a ligne semblable à celui-ci Graphics.SmoothingMode = SmoothingMode.AntiAlias; , si vous l'enlevez - maximiser et minimiser les boutons devraient avoir l'air bien, mais le bouton X ressemblera probablement à de la merde alors insérez cette ligne juste avant de dessiner X mais après avoir dessiné ces deux autres boutons

+0

Que dois-je faire pour cela.? Pouvez-vous s'il vous plaît expliquer? –