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.net,else中的事件應該是“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說明表:
2、enter鍵響應
????????一個文本框輸入完成,我們可以用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 ThenbtnOK.PerformClick()End IfEnd Sub
3、清空、聚焦
????????當然還不要忘了我們的清空聚焦啊,清空可以調用一個公共方法,如下:
''' <summary>''' 清除文本框的數據''' </summary>''' <param name="frm">當前窗體</param>'''<returns>返回布爾值,如果為真則清除成功</returns>''' <remarks></remarks>Public Function ClearAll(ByVal frm As Form)As BooleanDim control As New ControlFor Each control In frm.Controls'遍歷窗體中所有的控件If TypeOf control Is TextBox Then'判斷控件類型,如果是文本框清空control.Text = ""ElseIf TypeOf control Is ComboBoxThen '判斷控件類型,如果是下拉列表清空control.Text = ""End IfEnd IfNextReturn TrueEnd 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 BooleanDim control As New ControlFor Each control In frm.Controls'遍歷窗體中所有的控件If TypeOf control Is TextBox Then'判斷控件類型,如果是文本框control.Enabled = False '鎖定控件ElseIf TypeOf control Is ComboBoxThen '判斷控件類型,如果是組合框control.Enabled = False '鎖定控件End IfNextReturn TrueEnd Function
5、窗體字體統一
?????????這里用了一個比較笨的方法,就是在一開始建窗體時就修改了它的字體,這樣往上加控件就是一致的了,就是每建一個新窗體都要修改一次,挺麻煩的,這里還要請高人指教啊!
?
???????其他還有很多,大家有什么需要歡迎給我來信~
?
?
總結
以上是生活随笔為你收集整理的vb.net的UI设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4 contextHook
- 下一篇: 5 useMemouseCallback