一个不规则窗口界面的示例(原创)

椭圆开窗体
using System; 
using System.Drawing; 
using System.Windows.Forms; 
class EllipseClass:Form 

private Rectangle ellipseBounds=new Rectangle(new Point(0,0),new Size(100,50)); 
private Brush solidAzureBrush=Brushes.Yellow; 
private Point m_pOffset=new Point(0,0); 

public EllipseClass() 

this.Text="不规则图形"; 
this.StartPosition=FormStartPosition.CenterScreen; 
this.BackColor=Color.Red; 
this.FormBorderStyle=FormBorderStyle.None; 
this.TransparencyKey = Color.Red; 

protected override void OnPaint(PaintEventArgs e) 

base.OnPaint(e); 
Graphics dc=e.Graphics; 
dc.FillEllipse(solidAzureBrush,ellipseBounds); 

protected override void OnMouseDown(MouseEventArgs e) 

base.OnMouseDown(e); 
m_pOffset=new Point(e.X,e.Y); 
//Console.WriteLine("Down X:{0} ,Y:{1}",m_pOffset.X,m_pOffset.Y); 

protected override void OnMouseMove(MouseEventArgs e) 

base.OnMouseMove(e); 
if(e.Button == MouseButtons.Left) 

Point mousePos = Control.MousePosition; 
//Console.WriteLine("Move X:{0} ,Y:{1}",mousePos.X,mousePos.Y); 
this.Location =new Point( mousePos.X-m_pOffset.X,mousePos.Y-m_pOffset.Y); 
//Console.WriteLine("Location X:{0} ,Y:{1}",this.Location.X,this.Location.Y); 


 

public static void Main() 

Application.Run(new EllipseClass()); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值