如何将msgbox的大小,颜色和字体进行调节?

解决方案 »

  1.   

    用窗体作为自定义对话框
    自定义对话框就是用户所创建的含有控件的窗体— 这些控件包括命令按钮、选取按钮和文本框—它们可以为应用程序接收信息。通过设置属性值来自定义窗体的外观。也可以编写在运行时显示对话框的代码。要创建自定义对话框,可以从新窗体着手,或者自定义现成的对话框。如果重复过多,可以建造能在许多应用程序中使用的对话框的集合。要自定义现存的对话框,请按照以下步骤执行: 从“工程”菜单中选取“添加窗体”,在工程中添加一现存的窗体。
    从“文件”菜单中选取“filename 另存为”并输入新的文件名。〔这可以防止改变已存在的窗体版本〕。
    根据需要自定义窗体的外观。
    在代码窗口中自定义事件过程。 
    要创建新的对话框,请按照以下步骤执行: 从“工程”菜单中选取“添加窗体”。 
    – 或者 –在工具栏上单击“窗体”按钮,创建新的窗体。如有必要,自定义窗体外观。
    在“代码”窗口中自定义事件过程。 
    有很大的自由来定义自定义对话框的外观。它可以是固定的或可移动的、模式或无模式的。它可以包含不同类型的控件;然而,对话框通常不包括菜单栏、窗口滚动条、最小化与最大化按钮、状态条、或者尺寸可变的边框。本主题余下的部分将讨论创建典型类型的对话框方法。添加标题
    对话框总应当有标识它的标题。要创建标题,设置该窗体的 Caption 属性为将在标题条中显示的文本字符串。通常,这一步是在设计时使用“属性”窗口来完成的,但也可以用代码来完成这一步。例如:frmAbout.Caption = "About"提示 如果想完全删除此标题栏,可以设置窗体的 ControlBox、MinButton 和 MaxButton 为 False;设置 BorderStyle 为尺寸不可变的设置(0、1 或 3),并设置 Caption 为空字符串 ("")。设置标准对话框的属性 
    一般说来,用户响应对话框时,先提供信息,然后用“确定”或者“取消”命令按钮关闭对话框。因为对话框是临时性的,用户通常不需要对它进行移动、改变尺寸、最大化或最小化等操作。其结果是:随新窗体出现的可变尺寸边框类型、“控制”菜单框、“最大化”按钮以及“最小化”按钮,在大多数对话框中都是不需要的。通过设置 BorderStyle、ControlBox、MaxButton 和 MinButton 属性,可以删除这些项目。例如,“关于”对话框可能使用以下的属性设置。属性  设置 效果 
    BorderStyle 1  改变边框类型为固定的单个边框,因而防止对话框在运行时被改变尺寸。 
    ControlBox False  删除控制菜单框。 
    MaxButton False  删除最大化按钮,因而防止对话框在运行时被最大化。 
    MinButton False  删除最小化按钮,因而防止对话框在运行时被最小化。 
    记住,如果删除“控制”菜单框 ( ControlBox = False ),则必须向用户提供退出该对话框的其它方法。实现的办法通常是在对话框中添加“确定”、“取消”或者“退出”命令按钮,并在隐藏或卸载该对话框的 Click 按钮事件中添加代码。添加和放置命令按钮 
    模式对话框必须至少包含一个退出该对话框的命令按钮。通常用两个命令按钮:其中一个按钮开始动作,而另一个按钮关闭该对话框而不做任何改变。典型状态是,这两个按钮的 Caption 属性设置“确定”与“取消”。在这个方案中,“确定”命令按钮的 Default 属性设置为 True,而 Cancel 命令按钮的 Cancel 属性设置为 True。虽然“确定”与“取消”是最常用的按钮,其他的按钮标题组合也可使用。显示消息的对话框通常使用 Label 控件来显示错误消息或者命令提示,并且用一至两个命令按钮来执行动作。例如,也许给标识的 Caption 属性赋以错误消息或者命令提示,而给两个命令按钮控件的 Caption 属性指定“是”与“否”。当用户选取“是”,则发生一个动作,当选取“否”时,则发生另一个动作。这种类型对话框的命令按钮通常被放置在对话框的底部或右边,而顶部或左边的按钮为缺省按钮,如图 6.19 所示。图 6.19 对话框中命令按钮的位置设置缺省、取消和焦点
    命令按钮控件提供了以下的属性: Default
    Cancel
    TabIndex
    TabStop 
    Default 按钮就是当用户按下 ENTER 键时选中的按钮。在一个窗体上,只能有一个命令按钮的 Default 属性可以设置为 True。按下 ENTER 键就调用缺省命令按钮的 Click 事件。这个功能连同编辑控件(比如 TextBox )一起工作。例如,可以在文本框中键入数据,然后按下 ENTER 键来产生 Click 事件,以取代选取“确定”按钮。“取消”按钮就是当按下 ESC 键时选中的按钮。在一个窗体上,只能有一个命令按钮的 Cancel 属性可以设置为 True。按下 ESC 键调用“取消”命令按钮的 Click 事件。“取消”按钮也可以为缺省命令按钮。要指定对话框的“取消”按钮,设置该命令按钮的 Cancel 属性为 True。提示 一般说来,代表最可靠的或者最安全的操作的按钮应当是缺省按钮。例如,在“文本替换”对话框中,“取消”应当是缺省按钮,而不是“全部替换”。也可以指定当对话被显示时具有焦点的按钮。当窗体被显示时,带有最低的 TabIndex 设置的控件接收焦点。按下 ENTER 键会调用缺省命令按钮或者有焦点的命令按钮的 Click 事件。要在窗体被显示时将焦点给某个命令按钮,则设置该命令按钮的 TabIndex 为 0,它的 TabStop 属性为 True。也可以用 SetFocus 方法在窗体被显示时将焦点给指定的控件。详细信息 请参阅《语言参考》的“TabIndex 属性”与“TabStop 属性”。使对话框上的控件无效
    有时候需要使控件无效,因为它们的动作在当前的上下文中不适用。例如,当 Visual Basic 的“查找”对话框第一次显示时,“查找下一个”按钮应无效,如图 6.20 所示。设置对话上的控件的 Enabled 属性为 False,可以使其无效。图 6.20 对话框上的无效控件要使对话框上的控件无效,请 设置每个控件的 Enabled 属性为 False。例如: 
    cmdFindNext.Enabled = False
    cmdReplace.Enabled = False显示自定义对话框 
    使用应用程序中显示其他窗体同样的方法来显示对话框。当应用程序运行时,启动窗体会自动装入。想在应用程序中出现第二个窗体或对话框,要用装入并显示它的代码来实现。同样,想要窗体或对话框消失,也要编写卸载或隐藏它的代码。以下代码在用户选取“帮助”菜单中的“关于”菜单项时显示“关于”对话框。Private Sub mnuHelpAbout_Click ()
       '此处用 style = vbModal 的 Show 方法将对话框显示为模式的。
       frmAbout.Show vbModal
    End Sub显示选项
    代码决定对话框将如何装入内存与如何显示。下表描述各种类型的显示任务以及用来执行这些任务的关键字。任务  关键字 
    将窗体装入内存,但不显示。 用 Load 语句,或者引用窗体上的属性或控件。 
    装入并显示无模式窗体。 用 Show 方法。 
    装入并显示模式窗体。 用 style = vbModal 的 Show 方法。 
    显示已装入的窗体。 设置它的 Visible 属性为 True,或者使用 Show 方法。 
    从视窗中隐藏窗体。 设置它的 Visible 属性为 False,或者使用 Hide 方法。 
    从视窗中隐藏窗体并从内存中卸载。 用 Unload 语句。 
    Show 方法装入窗体并设置它的 Visible 属性为 True。传递给 Show 方法的参数标识了该对话框的类型。如果 style 参数省略或者设置为 vbModeless 或 0(缺省),则对话框为无模式类型,如果 style 参数为 vbModal 或 1,则对话框为模式类型。当选取“确定”或“取消”退出对话框时,可使用 Unload 语句或者 Hide 方法。例如:Unload frmAbout
    - 或者 -frmAbout.HideUnload 语句把对话框从内存中删除,而 Hide 方法只是通过设置对话框的 Visible 属性为 False 将其从视窗中删除。当卸载窗体时,该窗体本身以及它的控件都从内存中卸载(包括在运行时装入的任何控件)。当隐藏窗体时,该窗体以及它的控件仍留在内存中。当需要节省内存空间时,最好卸载窗体,因为卸载窗体可以释放内存。如果经常使用对话框,可以选取隐藏窗体。隐藏窗体仍可以保留与它关联的任何数据,包括属性值、打印输出和动态创建的控件。窗体被隐藏后,可以继续从代码中引用隐藏窗体的属性与控件。