DoCheckControlMoveOutでの制御だと、事実上カーソルは次項目へ移動した後だったりする。
そのため、制御が次項目に対するものだと制御がかかるタイミングが正しくなく、動作がおかしくなる。
そういうときはコントロール自身のSelChangeイベントで制御させる。
処理区分など、パッケージプログラムでも同じことをやっている。
■例 フジクラ様 プロジェクト発注処理(A50050_00 EntryForm.vb)■
    ''' <summary>
    ''' 注文書区分の値を変更した時
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub chumonshoKbn_SelChange(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chumonshoKbn.SelChange
        '添付がマウスクリック時のみカーソル移動可とするか変更
        ChangeFocusStop_添付()
End Sub
    ''' <summary>
    ''' メール送信対象区分の表示
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub ChangeFocusStop_添付()
        If chumonshoKbn.CurrentIndex + 1 <> 4 Then
            '注文書区分≠4:業務委託 完了報告なし の場合、マウスクリック時のみ移動可
            attachmentFile.TabStop = False
        Else
            '注文書区分=4:業務委託 完了報告なし の場合、常に移動可
            attachmentFile.TabStop = True
        End If
End Sub

コメント
最新を表示する
NG表示方式
NGID一覧