web-dev-qa-db-fra.com

Coins arrondis dans les formes de fenêtres C #

J'ai une fenêtre sans frontières. J'ai cherché net pour les coins arrondis mais tous avec des frontières. Comment puis-je faire des coins arrondis de la forme(not with borders)? Y-a-t-il un moyen de faire ça?

Je suis un débutant à c #, alors s'il vous plaît expliquer ...

Merci

10
Hari krishnan

essaye ça:

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        [DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
        private static extern IntPtr CreateRoundRectRgn
        (
            int nLeftRect,     // x-coordinate of upper-left corner
            int nTopRect,      // y-coordinate of upper-left corner
            int nRightRect,    // x-coordinate of lower-right corner
            int nBottomRect,   // y-coordinate of lower-right corner
            int nWidthEllipse, // height of ellipse
            int nHeightEllipse // width of ellipse
        );

        public Form1()
        {
            InitializeComponent();
            this.FormBorderStyle = FormBorderStyle.None;
            Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
        }
    }
}

à partir d'ici: Formulaire avec des bordures arrondies en C #?

33
AsfK

Les biens de la région coupent simplement les coins. Pour avoir un vrai coin arrondi, vous devrez dessiner les rectangles arrondis.

Dessin de rectangles arrondis

Il serait peut-être plus facile de dessiner une image de la forme souhaitée et de la placer sur la forme transparente. Plus facile à dessiner mais ne peut pas être redimensionné.

Vérifiez également ceci Another One

1
Vinay Pratap Singh

J'ai trouvé ce code 

Pour créer la zone de texte aux coins arrondis, j'ai commencé à essayer de travailler avec l'événement de substitution de peinture, mais malheureusement sans résultat, ce qui est dû au fait (je suppose) que la zone de texte est dérivée de Windows. Par conséquent, j’ai essayé de remplacer l’API WM_Paint, ce qui a donné les résultats souhaités.

http://www.codeproject.com/Articles/17453/Textbox-with-rounded-corners

Merci

0
Moayad Myro