[window form]Visual Basic 2003~2005開發秘訣與範例大全_開箱文
收到章老師的「Visual Basic 2003~2005開發秘訣與範例大全」,希望用來改善現行開發專案中的視窗程式介面,由於專案是由C#開發,所以修改採用的code用C#去寫,如果是自行練功的部份就用VB了。總之,先開始寫第一篇吧!
目的:
視窗中的所有文字框(TextBox),一般點它時候會從最後一個字元開始輸入,希望將都能從第一個字元開始輸入。
方法:
一般當我們點選文字框(TextBox)的時候,會觸發點選(Click)事件,可是按照使用者習慣,當輸入完文字後會按Tab鍵到下一個文字框輸入,這時候會觸發輸入(Enter)事件,實作方法是在點選及輸入事件,輸入一個home按鍵讓焦點移到文字框的第一個字元。
程式碼如下,記得要引用Microsoft.VisualBasic.Devices:
public static void HeaderTextBox(Control source)
{
foreach (Control txtitem in source.Controls)
{
if (txtitem is TextBox)
{
//註冊click及Enter事件
txtitem.Click += new EventHandler(txtitem_Click);
txtitem.Enter += new EventHandler(txtitem_Enter);
}
else
{
//遞迴去掃每個子控制項
HeaderTextBox(txtitem);
}
}
}
private static void txtitem_Enter(object sender, EventArgs e)
{
//模擬按home鍵回到文字框第一個字元
Computer mycom = new Computer();
mycom.Keyboard.SendKeys("{HOME}");
}
public static void txtitem_Click(object sender, EventArgs e)
{
//模擬按home鍵回到文字框第一個字元
Computer mycom = new Computer();
mycom.Keyboard.SendKeys("{HOME}");
}
#endregion
主程式中引用如下:
private void EnterData2_Load(object sender, EventArgs e)
{
HeaderTextBox(this);
}
這樣就大功告成了
參考資料
Visual Basic 2003~2005開發秘訣與範例大全