2008年2月24日 星期日

指定表單預設欄位及按鈕

Q:
不管是Web Application 或 Windows Application, 使用者都會要求表單顯示時, 游標必須擺在第一欄, 而且按Enter時會觸發最常使用的按鈕, 這要怎麼做呢?

A: 使用.net 2.0 or above

Web Form

  • 招式一

在 html 的 form 標籤直接加入defaultbutton、defaultfocus屬性如下:

<form id="form1" runat="server" defaultbutton="Button2" defaultfocus="TextBox2">

  • 招式二

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Page.IsPostBack = False Then

Me.Form.DefaultButton = Button2.UniqueID

Me.Form.DefaultFocus = TextBox2.UniqueID

End If

End Sub

  • 招式三

使用Master Page時, form 標籤在主板網頁, 無法直接指定, 須調整一下姿勢, 如下:

Page.Form.DefaultButton = Button2.UniqueID

Page.Form.DefaultFocus = TextBox2.ClientID

Windows Form

  • 指定游標所在欄位, 只要將該欄的 TabIndex 屬性設為0即可
  • 要指定Enter預設按鈕, 則要修改【表單】的AcceptButton屬性為某一控制項即可
  • 另外要指定【取消】(Esc)的預設按鈕, 則要修改【表單】的CancelButton屬性

That's all, keep coding.

沒有留言: