Re: [問題] 想請問Windows Form的圓邊表單如何做?
※ 引述《jiing24 (jiing)》之銘言:
: 1. 以前好像有看過BCB有round edge屬性不過現在C#好像沒有
: 想請教要如何做呢?或是有什麼好書或參考資料
.NET 1.1下有兩種方法第一種比較簡單
1.先預備好一張圖形檔案當作Form的底圖,然後將底圖設為Form的BackgroundImage
(可以直接在Visual Studio 2003 IDE中Form的properties指定)
2.設定Form的 FormBorderStyle = FormBorderStyle.None;
3.接下來設定Form的TransparencyKey=BackColor即可。
另一種比較正統也是Win32下常用的方式,下面提供範例程式
1.記的先將Form的 FormBorderStyle = FormBorderStyle.None;
class MyForm:Form
{
private void setRegion()
{
//這個範例是設定一個圓形的Form
Rectangle rect = this.ClientRectangle;
using( GraphicsPath path = new GraphicsPath())
{
path.AddEllipse(rect);
this.Region = new Region.path;
}
}
//處理Load事件
void MyForm_Load(.....)
{
setRegion();
}
//處理SizeChanged事件
void MyForm_SizeChange(.....)
{
setRegion();
}
}
然後記住這些不規則的Form必須要從新實作出原本Drag caption的移動視窗效果
最簡單是處理MouseDown, MouseMove,和MouseUp三個事件
在Form的class中加上一個private member
Point prePoint=Point.Empty;
//處理MouseDown Event
void MyForm_MouseDown(object sender, MouseEventArg e)
{
//只有滑鼠左鍵讓他可以移動Window
if(e.Button != MouseButtons.Left)
return;
prePoint = new Point(e.X, e.Y);
}
//處理MouseMove Event
void MyForm_MouseMove(object sender, MouseEventArg e)
{
if(prePoint = Point.Empty)
return;
Point position = new Point(this.Left + e.X -prePoint.X,
this.Top + e.Y - prePoint.Y);
//設定Window新的位置
this.Location = position;
}
//處理MouseUp Event
void MyForm_MouseUp(object sender, MouseEventArg e)
{
if(e.Button != MouseButtons.Left)
return;
prePoint = Point.Empty
}
: 2. 另外想問圓形的按鈕要如何做?
: 謝謝!
C#中要做自定元件已經非常簡單建議自己試試看
可以參考這幾個Event
Paint
MouseDown
MousUp
MouseHover
Click
如果還是沒有概念可以參考
http://www.codeproject.com/cs/miscctrl/zhaocolorbutton.asp
針對上面幾個Event做重點研究應該就懂了。
--
我的Blog :)
http://spaces.msn.com/members/austinjan/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.23.6
推
59.120.12.63 06/25, , 1F
59.120.12.63 06/25, 1F
推
61.66.134.155 06/28, , 2F
61.66.134.155 06/28, 2F
→
61.66.134.155 06/28, , 3F
61.66.134.155 06/28, 3F
→
61.66.134.155 06/28, , 4F
61.66.134.155 06/28, 4F
→
61.66.134.155 06/28, , 5F
61.66.134.155 06/28, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章