作成日: 2018/06/22 最終更新日: 2018/06/22
文書種別
制限事項
詳細
EditModeOnイベント内でIMEをオフにすると、セルが未編修の状態で、IMEをオンにしたまま押した最初のキーの値がセルに入力されません。
■サンプルコード(VB.NET)
■再現手順
1. 1列目の任意のセルにカーソルを置きます。
2. IMEモードをオンにします。
3. 連続で「A」「B」「C」キーを押します。
期待する結果:セルが編集状態になり、半角で"abc"と入力される。
実際の結果:「A」キーを押した時にセルが編集状態になり、半角で"bc"と入力される。
■備考
Windows 10上でアプリケーションを動作させている場合、別の要因によって文字が正しく入力されない場合がございます。
詳細については、以下のナレッジ文書をご覧ください。
[文書番号:41462 | Windows 10にFall Creators Updateを適用すると文字入力動作が不正になる]
■サンプルコード(VB.NET)
Private Sub FpSpread1_EditModeOn(sender As Object, e As EventArgs) Handles FpSpread1.EditModeOn
' 1列目のセルを編集時、IMEをオフにする。
If Me.FpSpread1.ActiveSheet.ActiveColumnIndex = 0 Then
Me.FpSpread1.EditingControl.ImeMode = System.Windows.Forms.ImeMode.Off
End If
End Sub
' 1列目のセルを編集時、IMEをオフにする。
If Me.FpSpread1.ActiveSheet.ActiveColumnIndex = 0 Then
Me.FpSpread1.EditingControl.ImeMode = System.Windows.Forms.ImeMode.Off
End If
End Sub
■再現手順
1. 1列目の任意のセルにカーソルを置きます。
2. IMEモードをオンにします。
3. 連続で「A」「B」「C」キーを押します。
期待する結果:セルが編集状態になり、半角で"abc"と入力される。
実際の結果:「A」キーを押した時にセルが編集状態になり、半角で"bc"と入力される。
■備考
Windows 10上でアプリケーションを動作させている場合、別の要因によって文字が正しく入力されない場合がございます。
詳細については、以下のナレッジ文書をご覧ください。
[文書番号:41462 | Windows 10にFall Creators Updateを適用すると文字入力動作が不正になる]
回避方法
回避策としては、以下のいずれかの方法が考えられます。
- セル自体のIMEモードをあらかじめ設定する方法
セルのImeModeプロパティをあらかじめ設定することで、そのセルがアクティブセルになった時に、自動的にIMEが切り替わります。
■サンプルコード
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 1列目のIMEをオフにする。
Me.FpSpread1.ActiveSheet.Columns(0).ImeMode = ImeMode.Off
' ※IMEをオンにする必要がない場合には「無効(Disable)」に設定することをおすすめします。
'Me.FpSpread1.ActiveSheet.Columns(0).ImeMode = ImeMode.Disable End Sub - EnterCellイベント内でIMEを変更する
セルが選択された時に発生するEnterCellイベント内でIME設定を変更する方法です。
■サンプルコード
Private Sub FpSpread1_EnterCell(sender As Object, e As FarPoint.Win.Spread.EnterCellEventArgs) Handles FpSpread1.EnterCell
' 1列目のセルが選択された時、IMEをオフにする。
If FpSpread1.ActiveSheet.ActiveColumnIndex = 0 Then
FpSpread1.ActiveSheet.Cells(FpSpread1.ActiveSheet.ActiveRowIndex, FpSpread1.ActiveSheet.ActiveColumnIndex).ImeMode = ImeMode.Off
End If
End Sub
なお、IMEをオンにする必要がない場合には、方法1と同様に「無効(Disable)」に設定することをおすすめします。
旧文書番号
82960