DOTNETBAR制作圓角窗體和圓角控件代碼實(shí)例
1、如果制作圓角窗體,窗體先繼承DOTNETBAR的:public partial class Form2 : DevComponents.DotNetBar.Office2007Form
然后窗體里加上一個(gè)DONTERBAR的panel,然后設(shè)置panel為fill占滿整個(gè)窗體
然后設(shè)置panel的CornerType為Rounded,然后窗體就變?yōu)閳A角的了: panelEx1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded;
2、如果是圓角控件就照葫蘆畫瓢,把panel放在控件上面,然后設(shè)置為fill,再設(shè)置panel的CornerType為Rounded就變?yōu)閳A角控件了
DOTNETBAR的button控件默認(rèn)就可以設(shè)置為圓角按鈕的
今天弄個(gè)了一天最后弄出了圓角窗體,可是不是用DOTNETBAR,原來DOTNETBAR實(shí)現(xiàn)不了,以下是本人實(shí)現(xiàn)圓角窗體的代碼
/// <summary>
/// 重繪窗體為圓角
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DispenserForm_Paint(object sender, PaintEventArgs e)
{
Form form = ((Form)sender);
List<Point> list = new List<Point>();
int width = form.Width;
int height = form.Height;
//左上
list.Add(new Point(0, 5));
list.Add(new Point(1, 5));
list.Add(new Point(1, 3));
list.Add(new Point(2, 3));
list.Add(new Point(2, 2));
list.Add(new Point(3, 2));
list.Add(new Point(3, 1));
list.Add(new Point(5, 1));
list.Add(new Point(5, 0));
//右上
list.Add(new Point(width - 5, 0));
list.Add(new Point(width - 5, 1));
list.Add(new Point(width - 3, 1));
list.Add(new Point(width - 3, 2));
list.Add(new Point(width - 2, 2));
list.Add(new Point(width - 2, 3));
list.Add(new Point(width - 1, 3));
list.Add(new Point(width - 1, 5));
list.Add(new Point(width - 0, 5));
//右下
list.Add(new Point(width - 0, height - 5));
list.Add(new Point(width - 1, height - 5));
list.Add(new Point(width - 1, height - 3));
list.Add(new Point(width - 2, height - 3));
list.Add(new Point(width - 2, height - 2));
list.Add(new Point(width - 3, height - 2));
list.Add(new Point(width - 3, height - 1));
list.Add(new Point(width - 5, height - 1));
list.Add(new Point(width - 5, height - 0));
//左下
list.Add(new Point(5, height - 0));
list.Add(new Point(5, height - 1));
list.Add(new Point(3, height - 1));
list.Add(new Point(3, height - 2));
list.Add(new Point(2, height - 2));
list.Add(new Point(2, height - 3));
list.Add(new Point(1, height - 3));
list.Add(new Point(1, height - 5));
list.Add(new Point(0, height - 5));
Point[] points = list.ToArray();
GraphicsPath shape = new GraphicsPath();
shape.AddPolygon(points);
//將窗體的顯示區(qū)域設(shè)為GraphicsPath的實(shí)例
form.Region = new System.Drawing.Region(shape);
}
相關(guān)文章
C#程序啟動(dòng)項(xiàng)的設(shè)置方法
這篇文章主要為大家詳細(xì)介紹了C#程序啟動(dòng)項(xiàng)的設(shè)置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
C#使用GDI+實(shí)現(xiàn)生成驗(yàn)證碼
這篇文章介紹了C#使用GDI+實(shí)現(xiàn)生成驗(yàn)證碼的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
C# 鼠標(biāo)穿透窗體功能的實(shí)現(xiàn)方法
通過以下代碼,在窗體啟動(dòng)后調(diào)用方法SetPenetrate() 即可實(shí)現(xiàn)窗體的穿透功能,有需要的朋友可以參考一下2013-10-10
c# 重載WndProc,實(shí)現(xiàn)重寫“最小化”的實(shí)現(xiàn)方法
在做“亦歌桌面版”的時(shí)候,發(fā)現(xiàn)當(dāng)打開歌詞狀態(tài)下,用最小化隱藏窗體到托盤的話(如下code #1),在調(diào)出發(fā)現(xiàn)歌詞縮小了(雖然顯現(xiàn)的窗體大小跟剛才一樣),從這點(diǎn)看調(diào)用該方法其實(shí)窗體大小是改變了的(這個(gè)過程只是不可視而已)。2009-02-02
通過C#調(diào)用cmd來修改服務(wù)啟動(dòng)類型
可以使用System.ServiceProcess.ServiceController這個(gè)類允許連接到正在運(yùn)行或者已停止的服務(wù)、對其進(jìn)行操作或獲取有關(guān)它的信息但是這個(gè)類并沒有提供修改服務(wù)啟動(dòng)類型的方法,可以通過C#調(diào)用cmd來修改2012-12-12

