首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网页制作-> Javascript教程
随心所欲绘制状态栏-ASP教程,系统相关
作者:网友供稿 点击:34
推荐
西部数码-全国虚拟主机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.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·基于cpld的数字触发电路的设计
·消息队列(Message Queue)简介及其使用-.NET教程,评论及其它
·session_register()出错的解决办法-PHP教程,其它文章
·卫星通信中tcp协议分析改进方法研究
·漫谈Java语言的接口与类型安全-JSP教程,Java技巧及代码
·SQL SERVER2005連接字串中的@3/29-.NET教程,数据库应用
·自创]JCreator安装学习使用方法-数据库专栏,SQL Server
·ASP.NET 数据绑定常用代码-.NET教程,Asp.Net开发
·如何在J2ME的低级界面中轻松实现各种文字的自然分行显示-JSP教程,J2ME开发
·通信设备pac模块式开关电源的原理与维修
最新文章
·photoshop将肖像照片处理为铅笔素描_photoshop教程
·个人网站做联盟广告的几点经验_网赚技巧
·适合与不适合做google adsense的站_网赚技巧
·gg网赚之:怎么样利用e文站轻松月入100刀_网赚技巧
·黄明明归国创业寻觅伙伴:人品好是必要条件_站长访谈
·最普通的7种软文类型_站长访谈
·第九城市ceo朱骏 网海中闯出一片天_站长访谈
·反波访谈:听keso乱弹琴_站长访谈
·人性和互联网_站长心得
·大型网站常用的五种推广方法_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭