Java 模板變數替換(字串、佔位符替換)
對UI設計我們應該不陌生了,自己做過幾個小系統,像學生管理系統、機房收費系統等都是客戶端模式,當然還有我們的牛腩新聞釋出系統,這是我們第一次接觸的比較正規的web系統。現在就vb.net的一些UI設計小技巧給大家做個總結,希望對我們的重構或合作都有所幫助吧。
合作的時候我是負責U層的,所以設計這裡就要儘可能的想到“全心全意為人民服務”。因為使用者使用的時候就是跟頁面互動嘛,對於系統內部的邏輯設計等都不會去了解,這就又說到了UI設計的重要性了,概念性的大家自己去查,這裡只做一些小技巧。
1、提示框
U層的設計少不了提示框,我們可不能在彈出提示框的時候給使用者看到層標題,以下是一些小例項及其對應的程式碼。
程式碼:
MessageBox.Show(“確定要退出程式嗎?”,“提示”, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
效果:
計算機生成了可選文字: 提示O,確走要退出程.序嗎?否(N)
注意事項:
這裡要說的是,我們一般的提示框是隻有一個“確定”或“是”按鈕,換句話說就是使用者沒有選擇權。但是對於這個退出程式,使用者是要選擇的,這個提示框應該是出現在“Private Sub Form_FormClosing”中的,通過新增if~else~end if來判斷是取消操作還是退出程式關閉窗體。對於我們的vb.net,else中的事件應該是“e.Cancel = True”。
完整程式碼描述:
IfMessageBox.Show(“確定要退出程式嗎?”, “提示”, MessageBoxButtons.YesNo,MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
’事件
Else
e.Cancel= True
End if
程式碼:
MessageBox.Show(“充值成功!”,“系統提示”, MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
效果:
計算機生成了可選文字: 系統提示一’充靦’一
程式碼:
MessageBox.Show(“請輸入卡號!”,“系統提示”, MessageBoxButtons.OK, MessageBoxIcon.Warning)
計算機生成了可選文字: 系統提示請輸入卡號!
程式碼:
MessageBox.Show(“該使用者不存在,請重新輸入!”,“系統提示”, MessageBoxButtons.OK, MessageBoxIcon.Error)
效果:
計算機生成了可選文字: 系統提示州O·”戶~,~,刊
當然還有很多型別的,大家可以根據自己的喜好設計,這裡提供一張icon說明表:
計算機生成了可選文字: 成員名稱說明ASterisk該訊息框包含一個符號,該符號是由一個圓圈及其中的,J’寫字母i組成的。Error該訊息框包言一個符號,該符號是由一個紅色背景的圓圈及真中的vb.net教程白色X組成的。Ex〔Iamation該訊息框包含一H日nd該訊息框包含一1nformation該訊息框包含一個符號,該符號是由一個黃色背景的三角形及其中的一個感嘆號組成的.個符號,該符號是由一個紅色背景的圓圈及其中的曰色X組成的.個符號,該符號是由一個圓圈及其中的,J’寫字母c#教程i組成的.NOne訊息框未包含符號.Question該訊息框包含一個符號,該符號是由一個圓圈和其中的一個問號組成的.不再建議使用問號訊息圖示,原因是該圖示無法清楚地表示的訊息,並且問號形式的訊息表述可應用於任何訊息型別。此外,使用者還可能名問號訊息符號與幫助資訊混淆.因此,python基礎教程請不要在訊息框中使用此問號訊息符號.系統繼符號只是為了向後相容Stop該訊息框包含一個符號,該符號是由一個紅色背景的圓圈及其中的白色X組成的。Warning該訊息框包含一個符號,該符號是由一個黃色背景的三角形及真中的一個感嘆號組成的。
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 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、窗體字型統一
這裡用了一個比較笨vb.net教程的方法,就是在一開始建窗體時就修改了它的字型,這樣往上加控制元件就是一致的了,就是每c#教程建一個新窗體都要修改一次,挺麻煩的,這裡還要請高人指教啊!
其他還有很多,大家有什麼需要python基礎教程歡迎給我來信~