當前位置:
首頁 >
GDI+:自定义控件时如何使用Region来输出特定区域
發布時間:2024/9/20
42
豆豆
生活随笔
收集整理的這篇文章主要介紹了
GDI+:自定义控件时如何使用Region来输出特定区域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是我的一個小工具中用到的一個功能。這個工具需要能對圖片進行一些編輯和保存
我我們的一個功能就是,在圖片的任意位置雙擊之后,都會添加一個附加的控件出來,并且顯示在圖片上
看起來很不錯,但是那個白色的正方形背景是在不好看,能不能只是用那個圓圈呢?下面這樣顯然更加好一些
那這是如何做到的呢?按說所有的Windows Forms控件在Render出來的時候,都會有一個矩形的區域的。看看下面代碼吧
protected override void OnPaint(PaintEventArgs e){Graphics g = this.CreateGraphics();g.DrawEllipse(new Pen(Color.Red),new Rectangle(new Point(0, 0), new Size(this.Width-5,this.Height-5)));if (Selected)g.FillEllipse(new SolidBrush(Color.Yellow), new Rectangle(new Point(0, 0), new Size(this.Width - 5, this.Height - 5)));GraphicsPath p = new GraphicsPath();p.AddEllipse(new Rectangle(new Point(0, 0), new Size(this.Width - 5, this.Height - 5)));this.Region = new Region(p);//設置控件的區域是一個圓圈g.Save();}關于控件的Region屬性,也可以參考 http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.region.aspx
按照這個思路,我們當然也可以畫出某些帶有圓角的控件,或者不規則的控件。嘗試一下,你會改代碼,讓他輸出下面這樣的效果嗎
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的GDI+:自定义控件时如何使用Region来输出特定区域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学生直招士官什么时候开始体检的?
- 下一篇: 第十四章 虚拟专网 ×××