我的问题是在我的.NET应用程序中显示一个圆角面板。
使用 CreateRoundRectRgn 方法,可以使用圆角边框创建面板。但是问题在这里开始,使得1个UserControl中的2个Panels不起作用,只有最后一个元素总是被绘制成圆形。
尝试仅围绕一个面板工作,但是当单击侧边栏按钮时,面板会弹出而不显示所选页面的其余部分。难以解释,以下图片应该更好地解释:
正如您所看到的,第一个图显示了“关于”页面,通过单击导航面板中的“关于面板”,图片应该四舍五入,并且还应显示页面的其余部分。但唯一发生的事情是面板变圆,然后只显示这个面板......
代码:
System.IntPtr ptr = GUI.Resources.roundEdges.CreateRoundRectRgn(panel1.Location.X, panel1.Location.Y, panel1.Location.X + panel1.Width, panel1.Location.Y + panel1.Height, 10, 10); // _BoarderRaduis can be adjusted to your needs, try 15 to start.
this.Region = System.Drawing.Region.FromHrgn(ptr);
GUI.Resources.roundEdges.DeleteObject(ptr);
在一个用户控件中为两个面板执行此操作,不起作用!不知道为什么......互联网什么都没有.......
public ucAbout()
{
InitializeComponent();
System.IntPtr ptr = GUI.Resources.roundEdges.CreateRoundRectRgn(0, 0, this.Width, this.Height, 10, 10);
this.Region = System.Drawing.Region.FromHrgn(ptr);
GUI.Resources.roundEdges.DeleteObject(ptr);
ptr = GUI.Resources.roundEdges.CreateRoundRectRgn(panel1.Location.X, panel1.Location.Y, panel1.Location.X + panel1.Width, panel1.Location.Y + panel1.Height, 10, 10);
this.Region = System.Drawing.Region.FromHrgn(ptr);
GUI.Resources.roundEdges.DeleteObject(ptr);
Refresh();
}
我不是在模式下使用GIMP或PAINT创建这个带圆角的蓝色面板..也许有人可以提供帮助......
Bunifu UI - 此框架能够在一个uc中围绕多个面板...无法使用它...
我需要帮助;(