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
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 #?
Les biens de la région coupent simplement les coins. Pour avoir un vrai coin arrondi, vous devrez dessiner les 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
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