このプロパティは、1 つ以上の文字が現在のセクションから削除されると、以下のセクションで文字に発生することを制御されます。たとえば、"###-###" のような単純なマスクでは、'-' 文字で区切られた 2 つの入力セクションがあります。各入力セクションは、3 桁のプレースホルダーで構成されます。現在、マスク全体がデータで埋められているとします。最初のセクションで文字を削除すると、このプロパティは次の入力セクションの文字をこのセクションに流し込むかどうかをコントロールします。
上記の例を使用して、エディターが以下のデータを持つとします。
"123-456"
カレットが文字 '2' の前に置かれ、ユーザーが Delete キーを押すと、2 は削除され、3 が左にシフトして 2 が置かれていた位置に移動します。これは AllowShiftingAcrossSections 設定に関係なく行われます。ただし、この後に実行されることは、このプロパティの値によって異なります。AllowShiftingAcrossSections が False に設定されると、'3' のオリジナルの位置は空になり、その結果表示される文字は以下のようになります。
"13_-456"
AllowShiftingAcrossSections が True に設定されると、次の入力セクションからの文字は、'2' の位置に配置するために左にシフトすると、'3' によって空となった位置を満たすためにその結果表示される文字は以下のようになります。
"134-56_"
このプロパティで使用する値は、ユーザーが持つマスクの種類によって異なります。操作性は、使用されているマスクに依存するプロパティの値によって大きく影響されます。たとえば、日付の各セクション(月、日、年)が論理的に異なる値である Date マスクでは、セクションをまたいで値をシフトしない場合があります。実際、日付、時間などの特定の内蔵マスクについては、このプロパティを True に設定することで、セクションをまたいでシフトを有効にできなくなります。これらのマスクでいかなる状況においても好ましいことではありません。ただし、カスタム マスクについては、セクションをまたいで文字をシフトするために特定のマスクに意味があるかどうかに基づく値に、このプロパティを設定する必要がある場合があります。