vb.net的UI设计

         UI设计我们应该不陌生了,自己做过几个小系统,像学生管理系统、机房收费系统等都是客户端模式,当然还有我们的牛腩新闻发布系统,这是我们第一次接触的比较正规的web系统。现在就vb.net的一些UI设计小技巧给大家做个总结,希望对我们的重构或合作都有所帮助吧。

        合作的时候我是负责U层的,所以设计这里就要尽可能的想到“全心全意为人民服务”。因为用户使用的时候就是跟页面交互嘛,对于系统内部的逻辑设计等都不会去了解,这就又说到了UI设计的重要性了,概念性的大家自己去查,这里只做一些小技巧。

1、提示框

U层的设计少不了提示框,我们可不能在弹出提示框的时候给用户看到层标题,以下是一些小实例及其对应的代码。

代码:

<span style="font-size:24px;">MessageBox.Show("确定要退出程序吗?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)</span>

效果:

技术分享

注意事项:

         这里要说的是,我们一般的提示框是只有一个“确定”或“是”按钮,换句话说就是用户没有选择权。但是对于这个退出程序,用户是要选择的,这个提示框应该是出现在“Private Sub Form_FormClosing”中的,通过添加if~else~end if来判断是取消操作还是退出程序关闭窗体。对于我们的vb.netelse中的事件应该是“e.Cancel = True”。

完整代码描述:

<span style="font-size:24px;">IfMessageBox.Show("确定要退出程序吗?", "提示", MessageBoxButtons.YesNo,MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
’事件
Else
e.Cancel= True
End if
代码:
MessageBox.Show("充值成功!","系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)</span>

效果:

技术分享

 

代码:

<span style="font-size:24px;">MessageBox.Show("请输入卡号!","系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)</span>

效果:

技术分享

 

代码:

<span style="font-size:24px;">MessageBox.Show("该用户不存在,请重新输入!","系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error)</span>

效果:

技术分享

 

当然还有很多类型的,大家可以根据自己的喜好设计,这里提供一张icon说明表:

技术分享


2enter键响应

        一个文本框输入完成,我们可以用enter键来响应确定按钮,要想做的比较完善,就要每一个文本框都写一个以下这样一段代码,这样做是非常麻烦的,但是我还没有想出更好的方法,如果大家有什么好方法,还希望不吝赐教啊!

''' <summary>
    ''' Enter键响应登陆按钮
    ''' </summary>
    ''' <paramname="sender"></param>
    ''' <paramname="e"></param>
    ''' <remarks></remarks>
    Public Sub txtPassword_KeyUp(ByVal senderAs Object, ByVal e As KeyEventArgs) Handles txtPassword.KeyUp
        'Enter键进入
        If e.KeyCode = Keys.Enter Then
            btnOK.PerformClick()
        End If
    End Sub

3、清空、聚焦

        当然还不要忘了我们的清空聚焦啊,清空可以调用一个公共方法,如下:

''' <summary>
    ''' 清除文本框的数据
    ''' </summary>
    ''' <param name="frm">当前窗体</param>
    '''<returns>返回布尔值,如果为真则清除成功</returns>
    ''' <remarks></remarks>
    Public Function ClearAll(ByVal frm As Form)As Boolean
        Dim control As New Control
 
        For Each control In frm.Controls'遍历窗体中所有的控件
            If TypeOf control Is TextBox Then'判断控件类型,如果是文本框清空
                control.Text = ""
            Else
                If TypeOf control Is ComboBoxThen '判断控件类型,如果是下拉列表清空
                    control.Text = ""
                End If
            End If
        Next
        Return True
    End Function
 

聚焦当然就简单了,直接

<span style="font-size:24px;">Text.Focus()</span>


4、控件锁定

         如果我们让一个Text框不可用,直接用属性Enable=False就噢啦,但是如果整个窗体的text框都锁定,那一个个来是不是就麻烦多了?同上设计。


 ''' <summary>
    ''' 遍历窗体中所有控件,如果没有锁定,则进行锁定
    ''' </summary>
    ''' <paramname="frm">当前窗体</param>
    '''<returns>返回true锁定成功,返回false锁定失败</returns>
    ''' <remarks></remarks>
    Public Function Locked(ByVal frm As Form)As Boolean
        Dim control As New Control
 
        For Each control In frm.Controls'遍历窗体中所有的控件
            If TypeOf control Is TextBox Then'判断控件类型,如果是文本框
                control.Enabled = False         '锁定控件
            ElseIf TypeOf control Is ComboBoxThen '判断控件类型,如果是组合框
                control.Enabled = False              '锁定控件
            End If
        Next
        Return True
    End Function

5、窗体字体统一

         这里用了一个比较笨的方法,就是在一开始建窗体时就修改了它的字体,这样往上加控件就是一致的了,就是每建一个新窗体都要修改一次,挺麻烦的,这里还要请高人指教啊!

 

       其他还有很多,大家有什么需要欢迎给我来信~

 

 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。