电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> ASP
随心所欲绘制状态栏-ASP教程,系统相关
作者:网友供稿 点击:3
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

状态栏我不想详细解释。控件非常容易用。statusbar和statusbarpanel配合使用,非常简单。但是这样只是满足了基本的状态栏功能的需要,很多的时候我们可能还需要个性化的状态栏。我们需要随心所欲的绘制它。要做到这一点不难,statusbarpanel类提供了style属性,将其设置为statusbarpanelstyle.ownerdraw就可以自己编写代码绘制它了。statusbar的drawitem事件当所有者描述的状态栏控件的可视特征发生变化时,发生此事件。在这个事件里安置绘制statusbarpanel的程序代码。


statusbarpanelstyle枚举可以决定statusbarpanel是由系统绘制还是由程序员亲自编写程序进行绘制。有两种选择text和ownerdraw。前者要求statusbarpanel按照标准字体显示文本,后者允许程序员自己写代码绘制statusbarpanel。默认情况下是text。


以下代码片断自行绘制statusbarpanel:

在一个窗体上添加一个状态栏,将其showpanels属性设置为true。然后,对其panels属性进行设置。添加3个statusbarpanel,其中第二个的style属性设置为text,其余两个的style设置为ownerdraw。


private sub statusbar1_drawitem(byval sender as object, byval sbdevent as system.windows.forms.statusbardrawitemeventargs) handles statusbar1.drawitem

dim g as graphics = sbdevent.graphics

dim rf as new rectanglef(sbdevent.bounds.x, sbdevent.bounds.y, _

sbdevent.bounds.width, sbdevent.bounds.height)


if (sbdevent.index = 0) then

g.fillrectangle(brushes.red, rf)

dim f as new font("ëîìå", 10)

dim b as brush = brushes.black

g.drawstring(sbdevent.panel.text, f, b, rf)

end if

if (sbdevent.index = 2) then

g.fillrectangle(brushes.red, rf)

dim f as new font("ëîìå", 10)

dim b as brush = brushes.black

g.drawstring(sbdevent.panel.text, f, b, rf)

end if

end sub


需要特别强调一下参数 system.windows.forms.statusbardrawitemeventargs 。该类型的参数包含一个与drawitem事件相关的数据。详见下表:


backcolor

获取所绘制的项的背景色。

bounds

获取表示所绘制项的边界的矩形。

font

获取分配给所绘制项的字体。

forecolor

获取所绘制项的前景色。

graphics

获取要在其上绘制项的图形表面。

index

获取所绘制项的索引值。

panel

获取要绘制的statusbarpanel。

state

获取所绘制项的状态。

如何让状态条右下角的三角消失呢?

将statusbar.sizinggrip属性设置为false。


如何让状态栏不显示其statusbarpanel?

把statusbar的showpanel属性设置为false。


怎样在程序运行过程中向状态条添加(删除)面板?


使用statusbar的panels属性。


private sub btnaddpanel_click(byval sender as system.object, byval e as system.eventargs) handles btnaddpanel.click

dim panel as new statusbarpanel

panel.text = "动态添加的面板!"

me.statusbar1.panels.add(panel)

end sub


private sub btndelpanel_click(byval sender as system.object, byval e as system.eventargs) handles btndelpanel.click

dim str as string = "动态添加的面板!"

dim panel as statusbarpanel

for each p as statusbarpanel in me.statusbar1.panels

if (p.text = str) then

panel = p

end if

next

if (not (panel is nothing)) then

me.statusbar1.panels.remove(panel)

end if

end sub


如何在状态条面板上显示图标?

使用statusbarpanel.icon属性。


如何自动分配状态条空间?

使用statusbarpanel.autosize属性。该值指示是否自动调整状态栏面板的大小。该属性接受一个statusbarpanelautosize枚举。默认值是statusbarpanelautosize.none,这意味着不论状态条如何面板始终保持大小不变。除此之外还有两种选择,contents和springs。前者表示面板宽度取决于其内容,后者表示面板大小会被自动调整,至于调整之后合适与否,那我可就说不准了。如果autosize设置为springs,还可以用minwidth属性设置最小宽度。



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·如何使XP的目录属性出现"安全"选项-ASP教程,系统相关
·创建有个性的对话框之MFC篇(二)-ASP教程,系统相关
·用InstallShield打包ASP程序-ASP教程,ASP应用
·windows server 2003 中 SQL Server 2000 分布式事务 错误解决方法-ASP教程,系统相关
·创建有个性的对话框之MFC篇(一)-ASP教程,系统相关
·DevExpress打印相关代码-ASP教程,打印相关
·File文件控件,选中文件(图片,flash,视频)即立即预览显示-ASP教程,组件开发
·用Windows的文件映射机制,实现大批量数据的快速存储-ASP教程,系统相关
·ADO如何取得数据库中表的字段信息之一
·使用DEVEXPRESS部件打印时标题的处理-ASP教程,打印相关

最新文章
· SQL注入天书 - ASP注入漏洞全接触
·用.net 处理xmlHttp发送异步请求
·asp.net创建文件夹的IO类的问题
·如何实现ASP.NET网站个性化
·关于ASP.NET调用JavaScript的实现
·ASP利用Google实现在线翻译功能
·Asp无组件生成缩略图
·由HTTP 500 Internal server error想到的...
·实例讲解asp抓取网上房产信息
·改mdb为asp所带来的灾难


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号