[VB] 学会使用SysInfo控件

ZDNet软件频道 时间:2004-06-16 作者:Builder.com |  我要评论()
本文关键词:vb
当一个程序正在运行时,SysInfo控件可以响应操作系统中发生的变化。这些变化能够触发控件的事件,并且程序在需要时候可以响应。为了能够在项目中使用SysInfo控件,首先你必须在组件对话框中选择这一控件,并将它添加到Toolbox中。
本文译自Builder.com,未经许可请勿转载

当一个程序正在运行时,SysInfo控件可以响应操作系统中发生的变化。这些变化能够触发控件的事件,并且程序在需要时候可以响应。为了能够在项目中使用SysInfo控件,首先你必须在组件对话框中选择这一控件,并将它添加到Toolbox中。

SysInfo控件能够检测多种系统发生的变化。这里列举了程序员最常使用的事件:

  • DeviceRemoveComplete:当移动一个装置(如可移动磁盘)时。

  • DisplayChanged:当屏幕分辨率改变时。

  • PowerSuspend:系统进入暂停模式之前。

  • SysColorsChanged:系统颜色改变时。

  • TimeChanged:系统时间改变时。

    我使用这一控件的一种方法是,编写代码以响应DisplayChanged事件。如果用户在程序运行时改变屏幕分辨率,程序能够调整窗体尺寸以适应新的屏幕分辨率设置。

    而且,SysInfo控件具有一系列属性,这些属性可以让你的程序获得操作系统的信息。其中有一些属性只与运行于掌上电脑的程序有关。例如,你可以使用ACStatus属性去判断掌上电脑是否以交流电方式工作,并且BatteryLifeTime属性可以返回电池可以工作时间。

    其它的SysInfo控件属性提供有关Windows台式电脑的信息,具体而言,有四种关于提供工作区信息的属性。这些属性是WorkAreaHeight, WorkAreaWidth, WorkAreaTop, WorkAreaLeft。这些属性返回的值都是以twips格式。例如,当任务栏位于屏幕下方的默认位置时,WorkAreaHeight将返回整个屏幕高度减去任务栏高度的值。同样,当你移动任务栏到屏幕左边时,WorkAreaWidth将返回整个屏幕宽度减去任务栏宽度的值。

    这里是一个使用这些属性的例子。当窗体显示时,Form_Load程序触发窗体去填充整个工作区:

    Private Sub Form_Load()

    With SysInfo1
       Me.Move .WorkAreaLeft, .WorkAreaTop, .WorkAreaWidth, .WorkAreaHeight
    End With

    End Sub

    由于你可以隐藏工作栏,可以将它移动屏幕的不同边缘,并且调整其尺寸,你可以使用SysInfo的属性来保证程序充分利用工作区域。


    本文作者:自从Visual Basic 1.0版以来,Peter Aitken就一直使用vb编程。他已经编写过很多关于VisualBasic以及其他计算机和编程的书以及杂志文章。


    责任编辑:李宁

    欢迎评论投稿

  • 百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
    中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
    京公网安备:1101082134