CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

郁闷了一个晚上,关于statusBar1_DrawItem事件不能执行的问题

楼主gallcy(月满西楼)2005-04-02 23:16:36 在 .NET技术 / C# 提问

各位仁兄仁姐:  
          小弟在一个winform上加一个状态栏statusBar1,想实现在运行程序时在statusBar1上显示1个小图片,就在statusBar1上增加了DrawItem事件,可是就是运行不出来,并且设置了断点也执行不到,程序如下:private   void   statusBar1_DrawItem(object   sender,   System.Windows.Forms.StatusBarDrawItemEventArgs   sbdevent)  
  {  
  Graphics   textGrap=this.CreateGraphics();  
  imageList1.Draw(sbdevent.Graphics,statusBar1.Location.X,statusBar1.Location.Y+5,0);  
  }  
  请各位高手指点迷津,在此不胜感激。  
  问题点数:20、回复次数:5Top

1 楼gallcy(月满西楼)回复于 2005-04-02 23:26:45 得分 0

自己先顶一下,我用的win2003+vs2003Top

2 楼gallcy(月满西楼)回复于 2005-04-03 07:08:11 得分 0

没人回答,自己再顶一下Top

3 楼webserv2(New life New job)回复于 2005-04-03 08:05:43 得分 10

参考一下     在状态栏自绘进度条  
   
  Private   Sub   Status_DrawItem(ByVal   sender   As   Object,   ByVal   sbdevent   As   System.Windows.Forms.StatusBarDrawItemEventArgs)   Handles   Status.DrawItem  
                  Dim   g   As   Graphics   =   Status.CreateGraphics()  
                  Dim   x,   y,   w,   wall,   h   As   Integer  
   
                  x   =   4  
                  y   =   4  
                  wall   =   Status.Panels(0).Width  
                  If   WaitSend   +   ReadySend   +   BadSend   =   0   Then  
                          w   =   0  
                  Else  
                          w   =   wall   *   (ReadySend   +   BadSend)   /   (WaitSend   +   ReadySend   +   BadSend)  
                  End   If  
   
                  Debug.WriteLine(w.ToString)  
   
                  h   =   Status.Height   -   7  
   
                  Dim   rect   As   RectangleF   =   New   RectangleF(x,   y,   wall,   h)  
   
                  Dim   rectDraw   As   RectangleF   =   New   RectangleF(x,   y,   w,   h)   '当前处理的进度的   Bound  
   
                  'g.Clip=new   Region(rect);  
                  '计算   xx%   的坐标  
   
                  Dim   sb   As   String  
                  If   WaitSend   +   ReadySend   +   BadSend   =   0   Then  
                          sb   =   ""  
                  Else  
                          sb   =   Convert.ToInt32(Convert.ToDouble(ReadySend   +   BadSend)   /   Convert.ToDouble(WaitSend   +   ReadySend   +   BadSend)   *   100).ToString()   +   "%"  
   
                  End   If  
                  Dim   sf   As   SizeF   =   g.MeasureString(sb,   New   Font("Arial",   9))  
   
                  Dim   pf   As   PointF   =   New   PointF(6   +   (wall   -   sf.Width)   /   2,   (h   -   sf.Height)   /   2   +   3)  
   
                  g.DrawString(sb,   New   Font("Arial",   9),   New   SolidBrush(Color.Black),   pf)   '   写上黑体的   xx   %  
                  g.FillRectangle(New   SolidBrush(Color.FromArgb(21,   29,   193)),   rectDraw)   '     填充当前进度的暗色方块.  
                  g.Clip   =   New   Region(rectDraw)   '         //重新设置   Clip为   当前进度的Bound   ,  
                  g.DrawString(sb,   New   Font("Arial",   9),   New   SolidBrush(Color.White),   pf)   '     再写白色的   xx%    
                  '这样就可以保证进度条不管到哪里,暗色方块上面的字,是白色,正常地方则是黑色.  
   
                  g.Dispose()  
   
   
          End   SubTop

4 楼iuIRCClient(我是老鹰)回复于 2005-04-03 16:35:31 得分 5

要想执行drawitem事件,你必须设置statusbar的drawmode属性,设成ownerdraw就可以了Top

5 楼applelppa(人生若只如初见)回复于 2005-04-03 17:16:00 得分 5

只有   StatusBar   控件中   StatusBarPanel   的   StatusBarPanel.Style   属性设置成   OwnerDraw   时才引发此事件。  
   
  -----------------------------------  
  四十年来家国  
  三千里地山河  
  凤阁龙楼连霄汉  
  玉树琼枝作烟箩  
  几曾识干戈Top

相关问题

  • 为什么不执行DrawItem?
  • 怎样判断事件的执行者?
  • 为什么combo1.change()事件不执行?????
  • 怎么不执行这个事件?
  • 不执行Page_Load事件中代码
  • onload()执行onclick()事件的问题?
  • session和application对象事件不执行!!!!
  • 事件不能执行的问题
  • TreeView_SelectedIndexChange()事件为何不执行?
  • 怎么不能执行onscroll事件?

关键词

  • statusbar1
  • badsend
  • readysend
  • drawitem
  • waitsend
  • sbdevent
  • rectanglef
  • wall
  • dim
  • sb

得分解答快速导航

  • 帖主:gallcy
  • webserv2
  • iuIRCClient
  • applelppa

相关链接

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

广告也精彩

反馈

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