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();
Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0,Width-5, Height - 5, 20, 20));
}
我从Stack Overflow获得了这个代码但是,这不会产生一个清晰的边缘窗口,而且最小化,最大化按钮没有正确显示。请纠正守则。是否有任何库(dll)可以在C#中完成这项工作。
答案 0 :(得分:2)
您可以在http://bytes.com/topic/c-sharp/answers/256570-how-do-i-create-windows-forms-rounded-corners找到有趣的讨论。
或者,如果你没有大小的形式,你可以使用像http://msdn.microsoft.com/en-us/beginner/cc963986.aspx这样的简单技巧。
但是在WindowsForms中做得很好很难。因此,如果它可以作为您的选择,我强烈建议使用WPF。特别是我看到你担心不完美的渲染。