CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

怎样用VB。NET实现一个圆形窗口,并可以在此窗口上贴图?急,请速回,谢了

楼主xiopeter(青苹果)2003-11-01 01:18:40 在 .NET技术 / VB.NET 提问

as   title 问题点数:0、回复次数:4Top

1 楼lz305(猎人【有型有款,有车有房。唯独没老婆】)回复于 2003-11-01 09:10:17 得分 0

下面的例子通过重载Form1窗体的OnPaint()方法绘制GDI图形  
  Protected   Overrides   Sub   onpaint(ByVal   e   As   System.Windows.Forms.PaintEventArgs)  
  注释://///////////绘制任意直线  
  Dim   g   As   Graphics   =   e.Graphics  
  Dim   mypen   As   Pen   =   New   Pen(Color.Red,   2)  
  g.DrawLine(mypen,   100,   100,   10,   10)  
  注释://///////////绘制矩形(任意直线构成的封闭图形)  
  Dim   point1   As   PointF   =   New   PointF(100F,   100F)  
  Dim   point2   As   PointF   =   New   PointF(200F,   100F)  
  Dim   point3   As   PointF   =   New   PointF(200F,   200F)  
  Dim   point4   As   PointF   =   New   PointF(100F,   200F)  
  Dim   curvepoints   As   PointF()   =   {point1,   point2,   point3,   point4}  
  g.DrawPolygon(New   Pen(Color.Blue,   2),   curvepoints)  
  注释:////////////文本表示  
  Dim   FFamily   As   FontFamily   =   New   FontFamily("Arial")  
  Dim   font   As   Font   =   New   Font(FFamily,   "20",   FontStyle.Bold,   FontStyle.Italic,   GraphicsUnit.Pixel)  
  Dim   text   As   String   =   "I   love   you!"  
  Dim   solidbrush   As   SolidBrush   =   New   SolidBrush(Color.Red)  
  Dim   pr   As   PointF   =   New   PointF(100,   10)  
  e.Graphics.DrawString(text,   font,   solidbrush,   pr)  
  注释:////////////平面绘制    
  Dim   rec   As   RectangleF   =   New   RectangleF(10,   10,   200,   100)  
  g.DrawPie(mypen,   rec,   150,   150)  
  注释:///////////封闭图形,0.7应该是个圆  
  g.DrawClosedCurve(mypen,   curvepoints,   0.7,   Drawing.Drawing2D.FillMode.Alternate)  
  注释:///////////大家自己试试看吧  
  g.DrawArc(mypen,   300,   300,   200,   200,   100,   100)  
  g.DrawCurve(mypen,   curvepoints)  
  g.DrawBezier(mypen,   50,   50,   100,   50,   100,   100,   50,   100)  
  g.DrawBeziers(mypen,   curvepoints)  
  注释://////////这可是一个圆  
  Dim   rec1   As   RectangleF   =   New   RectangleF(10,   10,   100,   100)  
  g.DrawEllipse(mypen,   rec1)  
  注释://////////这是一个椭圆  
  Dim   rec2   As   RectangleF   =   New   RectangleF(10,   10,   200,   100)  
  g.DrawEllipse(mypen,   rec2)    
  End   Sub    
   
  Top

2 楼terryxin(南方窗口)回复于 2003-11-01 13:51:40 得分 0

UPTop

3 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-11-01 14:09:49 得分 0

http://www.csdn.net/develop/read_article.asp?id=18774Top

4 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-11-01 14:10:20 得分 0

Dim   IsNormalRegion   As   Boolean   =   True  
   
     
   
          Private   Sub   Button2_Click(ByVal   sender   As   System.Object,   _  
   
                          ByVal   e   As   System.EventArgs)   Handles   Button2.Click  
   
     
   
                  If   (IsNormalRegion)   Then  
   
                          '构造一个GraphicsPath对象实例  
   
                          Dim   Graphics   As   New   System.Drawing.Drawing2D.GraphicsPath()  
   
                          Dim   intHeight   As   Integer   =   Me.Size.Height  
   
                          Dim   intWidth   As   Integer   =   Me.Size.Width  
   
     
   
                          '定义内矩形的左上角坐标  
   
                          Dim   RectTop   As   Integer   =   100  
   
                          '在窗体上绘制一个大椭圆,左上角的坐标取为(0,0)  
   
                          Graphics.AddEllipse(0,   0,   intWidth,   intHeight)  
   
                          '再绘制一个小矩形  
   
                          Dim   AddRect   As   New   Rectangle(RectTop,   RectTop,   intHeight   -   (RectTop   *   2),   intHeight   -   (RectTop   *   2))  
   
                          Graphics.AddRectangle(AddRect)  
   
                          '设置窗口的可见区域  
   
                          Me.Region   =   New   Region(Graphics)  
   
                  Else  
   
                          Me.Region   =   Nothing  
   
                  End   If  
   
                  IsNormalRegion   =   Not   IsNormalRegion  
   
  End   Sub  
   
  Top

相关问题

  • VB。NET能实现控件继承么?
  • 在VB。NET中如何实现VB中的 Form.Show vbModal 的效果
  • 求教,VB如何做圆形按钮?
  • 如何在VB中实现DOS下命令net send 的功能
  • 在VB。NET里怎么实现continue的功能?
  • 如何在VB。NET中实现控件的XP效果
  • 请问VB。NET中怎样实现ping功能
  • 怎么在web窗体中实现树结构(VB。NET)
  • 不规则按钮如何实现:如圆形(简便方法?)
  • 如何在pb下实现圆形的窗口?

关键词

  • pointf
  • 注释
  • 绘制
  • dim
  • solidbrush
  • point
  • pen
  • color
  • font

得分解答快速导航

  • 帖主:xiopeter

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo