Tabキーによるフォーカス移動

右下隅(最後)のセルにフォーカスがあるときに[Tab]キーを押した場合や、左上隅(最初)のセルにフォーカスがあるときに[Shift]+[Tab]を押した場合に、前後のコントロールにフォーカスを移動することができます。
 ABC
1このセルでShift + Tabキーを押下すると前のコントロールに移動します  
2   
3   
4  このセルでTabキーを押下すると次のコントロールに移動します
   

ソースコード

別ウィンドウで表示

using FarPoint.Web.Chart;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class selection_movetonextcell : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            return;
        }

        // SPREADの設定
        InitSpread(FpSpread1);

        // シート設定
        InitSpreadStyles(FpSpread1.Sheets[0]);
    }

    private void InitSpread(FarPoint.Web.Spread.FpSpread spread)
    {
        spread.CssClass = "spreadStyle2";
        spread.UseClipboard = false;

        // 前・次コントロールへの移動を有効化
        spread.MoveToNextCellThenControl = true;
        spread.MoveToPreviousCellThenControl = true;
        
        // SPREADがフォーカスをもたないとき選択範囲をハイライト表示しない
        spread.RetainSelectionBlock = false;
    }

    private void InitSpreadStyles(FarPoint.Web.Spread.SheetView sheet)
    {
        // 行列の設定
        sheet.RowCount = 4;
        sheet.ColumnCount = 3;
        sheet.DefaultColumnWidth = 200;
        sheet.DefaultRowHeight = 35;

        // シートのフォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Parse("70%");
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%");

        sheet.Cells[0, 0].Text = "このセルでShift + Tabキーを押下すると前のコントロールに移動します";
        sheet.Cells[3, 2].Text = "このセルでTabキーを押下すると次のコントロールに移動します";

    }
}
Imports FarPoint.Web.Chart
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Partial Public Class selection_movetonextcell
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(sender As Object, e As EventArgs)
        If IsPostBack Then
            Return
        End If

        ' SPREADの設定
        InitSpread(FpSpread1)

        ' シート設定
        InitSpreadStyles(FpSpread1.Sheets(0))
    End Sub

    Private Sub InitSpread(spread As FarPoint.Web.Spread.FpSpread)
        spread.CssClass = "spreadStyle2"
        spread.UseClipboard = False

        ' 前・次コントロールへの移動を有効化
        spread.MoveToNextCellThenControl = True
        spread.MoveToPreviousCellThenControl = True

        ' SPREADがフォーカスをもたないとき選択範囲をハイライト表示しない
        spread.RetainSelectionBlock = False
    End Sub

    Private Sub InitSpreadStyles(sheet As FarPoint.Web.Spread.SheetView)
        ' 行列の設定
        sheet.RowCount = 4
        sheet.ColumnCount = 3
        sheet.DefaultColumnWidth = 200
        sheet.DefaultRowHeight = 35

        ' シートのフォントサイズの設定
        sheet.DefaultStyle.Font.Size = FontUnit.Parse("70%")
        sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
        sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%")

        sheet.Cells(0, 0).Text = "このセルでShift + Tabキーを押下すると前のコントロールに移動します"
        sheet.Cells(3, 2).Text = "このセルでTabキーを押下すると次のコントロールに移動します"

    End Sub
End Class

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="movetonextcell.aspx.cs" Inherits="selection_movetonextcell" %>

<%@ Register Assembly="FarPoint.Web.SpreadJ" Namespace="FarPoint.Web.Spread" TagPrefix="FarPoint" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeaderPlaceHolder1" runat="Server">
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:TextBox ID="TextBox1" runat="server" TabIndex="1" Text="TextBox1" Style="color: #999999; margin-bottom:10px;" Height="30px"></asp:TextBox>
    <FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid" BorderWidth="1px" Height="250px"  TabIndex="2" >
        <CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
            ButtonShadowColor="ControlDark">
        </CommandBar>
        <Sheets>
            <FarPoint:SheetView SheetName="Sheet1">
            </FarPoint:SheetView>
        </Sheets>
    </FarPoint:FpSpread>

    <asp:TextBox ID="TextBox2" runat="server" TabIndex="3" Text="TextBox2" Style="color: #999999; margin-top:10px;" Height="30px"></asp:TextBox>
</asp:Content>