龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

深入浅出VB.NET提示对话框[组图](5)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
11. 在Form1.vb的Button1组件的Click事件的代码区之后,添加下面代码,下面代码是定义委托过程Icon_Clic,用以集中处理RadioButton1至RadioButton4组件的Click事件,为

  11. 在Form1.vb的Button1组件的Click事件的代码区之后,添加下面代码,下面代码是定义委托过程Icon_Clic,用以集中处理RadioButton1至RadioButton4组件的Click事件,为制作的信息对话框设定显示的图标:

  Public Sub Icon_Click ( ByVal sender As Object , ByVal e As System.EventArgs )
  Select Case sender.Name
  Case "RadioButton1"
   MsgIcon = MsgBoxStyle.Critical
   '选择提示框图标为"警告"
  Case "RadioButton2"
   MsgIcon = MsgBoxStyle.Exclamation
   '选择提示框图标为"惊叹号"
  Case "RadioButton3"
   MsgIcon = MsgBoxStyle.Information
   '选择提示框图标为信息提示图标"
  Case "RadioButton4"
   MsgIcon = MsgBoxStyle.Question
   '选择提示框图标为"问号"
  End Select
  End Sub

  12. 在Form1.vb的Icon_Click委托过程之后,添加下面代码,下面代码是定义委托过程Button_Click,用以集中处理RadioButton5至RadioButton10组件的Click事件,为制作的信息对话框设定按钮的数目和类型:

  Public Sub Button_Click ( ByVal sender As Object , ByVal e As System.EventArgs )
  Select Case sender.Name
  Case "RadioButton5"
   MsgButton = MsgBoxStyle.AbortRetryIgnore
   '设定信息对话框中的按钮数目为三个:退出、重试和忽略
  Case "RadioButton6"
   MsgButton = MsgBoxStyle.YesNoCancel
   '设定信息对话框中的按钮数目为三个:是、否和取消
  Case "RadioButton7"
   MsgButton = MsgBoxStyle.YesNo
   '设定信息对话框中的按钮数目为二个:是、否
  Case "RadioButton8"
   MsgButton = MsgBoxStyle.RetryCancel
   '设定信息对话框中的按钮数目为二个:重试、取消
  Case "RadioButton9"
   MsgButton = MsgBoxStyle.OKCancel
   '设定信息对话框中的按钮数目为二个:确认、取消
  Case "RadioButton10"
   MsgButton = MsgBoxStyle.OKOnly
   '设定信息对话框中的按钮数目为一个:确认
  End Select
  End Sub

  13. 在Form1.vb的Button_Click委托过程之后,添加下面代码,下面代码是定义委托过程Default_Click,用以集中处理RadioButton12至RadioButton14组件的Click事件,为制作的信息对话框中设置那个是缺省的焦点按钮:

  Public Sub Default_Click ( ByVal sender As Object , ByVal e As System.EventArgs )
  Select Case sender.Name
  Case "RadioButton14"
   DefaultButton = MsgBoxStyle.DefaultButton1
   '信息对话框中的第一个按钮为缺省焦点按钮
  Case "RadioButton13"
   DefaultButton = MsgBoxStyle.DefaultButton2
   '信息对话框中的第二个按钮为缺省焦点按钮
  Case "RadioButton12"
   DefaultButton = MsgBoxStyle.DefaultButton3
   '信息对话框中的第三个按钮为缺省焦点按钮
  End Select
  End Sub

  至此,在上述步骤都正确完成,并保存后,【利用MsgBox函数制作提示框】项目的全部工作就完成了。图02就是【利用MsgBox函数制作提示框】编译后的运行界面。

   六.利用MessageBox类来制作信息对话框:

  MessageBox类位于命名空间System.Windows.Forms中,它是一个静态类,所谓静态类,就是不通过创建实例就能够直接使用类中的方法。MessageBox类组成非常简单,其中最为重要的成员就是Show方法,Visual Basic .Net就是通过调用MessageBox类的Show方法来显示信息对话框的。Visual Basic .Net只使用MessageBox类是无法制作各式各样的信息对话框,还需要使用到命名空间System.Windows.Forms定义的若干枚举,这些枚举可以设定信息对话框中的各个元素。.Net 类库把信息对话框中的各个元素进行了细化,这一点不像MsgBox函数中使用的MsgBoxStryle枚举,MsgBoxStryle枚举把按钮的数目、种类、图标、按钮缺省焦点都定义到一起了。而.Net类库中定义了不同的枚举用以定义信息对话框中的各种元素。这些枚举就是:MessageBoxIcon、MessageBoxButtons和MessageBoxDefaultButton枚举。

  MessageBoxIcon枚举在MessagBox类中使用主要用以设定信息对话框中的图标类型,在介绍MsgBox函数制作信息对话框时已经介绍,信息对话框中的图标主要是四种,但在MessageBoxIcon枚举中却被设定为多个值,表06是MessageBoxIcon枚举中的成员及其说明:

  成员名称 说明
  Asterisk信息符号图标。
  Error关键符号图标
  Exclamation 感叹符号图标。
  Hand 关键符号图标。
  Information 信息符号图标
  None 无图标。
  Question问号图标。
  Stop关键符号图标。
  Warning 感叹符号图标。
  表06:MessageBoxIcon枚举中的成员及其说明

  MessageBoxButton枚举在MessageBox类中使用是用来设定信息对话框中的按钮数目和种类,表07是MessageBoxButton枚举的成员及其说明:

  成员名称说明
  AbortRetryIgnore提示框中包含"中止"、"重试"和"忽略"按钮。
  OK 提示框中包含"确定"按钮。
  OKCancel 该提示框中包含"确定"和"取消"按钮。
  RetryCancel 提示框中包含"重试"和"取消"按钮。
  YesNo 提示框中包含"是"和"否"按钮。
  YesNoCancel 提示框中包含"是"、"否"和"取消"按钮。
  AbortRetryIgnore提示框中包含"中止"、"重试"和"忽略"按钮。
  表07:MessageBoxButton枚举的成员及其说明

  MessageBoxDefaultButton枚举在MessageBox中使用是用来设定信息对话框中的缺省焦点按钮,由于信息对话框中至多只有三个按钮,所以MessageBoxDefaultButton枚举也定义了三个成员,具体如表08所示:

  成员名称 说明
  Button1 提示框中的第一个按钮是缺省焦点按钮。
  Button2 提示框中的第二个按钮是缺省焦点按钮。
  Button3 提示框中的第三个按钮是缺省焦点按钮。
  表08:MessageBoxDefaultButton枚举的成员及其说明

  MessageBox类中有很多重载Show方法,下面是最为常用的一种重载Show方法的语法格式:

  Overloads Public Shared Function Show (ByVal text As String ,ByVal caption As String , _
  ByVal buttons As MessageBoxButtons ,ByVal icon As MessageBoxIcon ,ByVal defaultButton As MessageBoxDefaultButton ) As DialogResult

  参数说明:

  text 必选,提示框中显示的内容。
  caption 可选,提示框标题栏中显示的文本。
  buttons 可选,MessageBoxButtons值之一,设定提示框中的按钮数目和类型。
  icon 可选,MessageBoxIcon值之一,设定提示框中显示的图标类型。
  defaultButton 可选,MessageBoxDefaultButton值之一,设定提示框缺省焦点按钮。

  返回值 DialogResult值之一。

  下面代码的功能是用MessageBox类的Show方法制作如图01所示提示框:

  MessageBox.Show ( "请确认操作!" , "利用MsgBox函数制作信息对话框", MessageBoxButtons.YesNoCancel , MessageBoxIcon.Question , MessageBoxDefaultButton.Button2 )

  七.获取MessageBox类制作的信息对话框的返回值:

  同样在使用MessageBox类制作的信息对话框中的某个按钮被按动后,Show方法也会返回一个数值,这个数值是DialogResult枚举中定义的一个值,通过对这个DialogResult值进行判断,从而得到信息对话框中是那个按钮被按动,表09是DialogResult枚举中的成员及其说明:

  成员名称说明
  Abort按动提示框中的"终止"按钮。
  Cancel按动提示框中的"取消"按钮。
  Ignore按动提示框中的"忽略"按钮。
  No 按动提示框中的"否"按钮。
  None 无返回值。
  OK按动提示框中的"确定"按钮。
  Retry 按动提示框中的"重试"按钮。
  Yes按动提示框中的"是"按钮。
  表09:DialogResult枚举中的成员及其说明

  下列代码的功能是制作图01所示信息对话框,并通过比较DialogResult枚举中的数值来判断按动了提示框中哪个按钮:

  Dim drResult = New DialogResult ( )
  '定义一个DialogResult枚举数值
  drResult = MessageBox.Show ( "请确认操作!", "利用MsgBox函数制作信息对话框", MessageBoxButtons.YesNoCancel , MessageBoxIcon.Question , MessageBoxDefaultButton.Button2 )
  Select Case drResult
  Case DialogResult.Yes
  MessageBox.Show ( "选择""确定""按钮" )
  Case DialogResult.Cancel
  MessageBox.Show ( "选择""取消""按钮" )
  Case DialogResult.No
  MessageBox.Show ( "选择""否""按钮" )
  End Select
  '判断选择提示框中了那个按钮

  八.总结:

  至此在Visual Basic .Net中制作二种类型提示对话框就介绍完了,Visual Basic .Net是通过InputBox函数来制作输入对话框,这种对话框结构比较单一,相对简单。而信息对话框在Visual Basic .Net中却可通过二种不同的方法实现,一种是继承原Visual Basic 6.0中的MsgBox函数,另外是通过.Net FrameWork SDK中的MessageBox类,虽然这二种方法所使用的东西各不相同,但具体的实现方法和步骤却非常雷同。我想通过以上介绍,各位一定可以实现用MessageBox类来替代【利用MsgBox函数制作提示框】项目中的MsgBox函数,实现用MessageBox类来定制各种信息提示框的工作。

精彩图集

赞助商链接