[ELTB03619]セルの ImeMode プロパティの設定が2回適用される

文書番号 : 13926     文書種別 : 制限事項     最終更新日 : 2004/03/11
文書を印刷する
対象製品
El Tabelle for .NET
発生環境
この現象はすべてのアセンブリで発生します。
詳細
セルの ImeMode プロパティを「ひらがな」に設定すると、セルへフォーカスが移ったタイミングでセルの
IMEモードは「ひらがな」に設定されます。ここでIMEモードを手動で「英数」に変更し、入力を開始すると
IMEモードが再び「ひらがな」に設定されてしまいます。
回避方法
この現象は、El Tabelle の仕様によるものです。
1度目は他のセルから移動してきた場合に対する処理、2度目はセルに直接移動した場合や
セルを移動しなかった場合に対する処理です。

2度目の処理を行わず、エンドユーザーが変更した IME モードを優先するには次のようにコーディングします。

編集が開始されたときに IME モードを変更せず、現在の IME モードを優先するには
次のように EnterEdit イベントで一時的に ImeMode プロパティを NoControl に
設定します。

[Visual Basic]
Private Sub Sheet1_EnterEdit(ByVal sender As Object, _
  ByVal e As GrapeCity.Views.ElTabelle.EnterEditEventArgs) _
  Handles Sheet1.EnterEdit
  Sheet1.ActiveCell.ImeMode = ImeMode.NoControl
End Sub

[C#]
private void sheet1_EnterEdit(object sender,
  GrapeCity.Views.ElTabelle.EnterEditEventArgs e)
{
  sheet1.ActiveCell.ImeMode = ImeMode.NoControl;
}

そして編集終了時に ImeMode プロパティの設定を元に戻します。

[Visual Basic]
Private Sub Sheet1_LeaveEdit(ByVal sender As Object, _
  ByVal e As GrapeCity.Views.ElTabelle.LeaveEditEventArgs) _
  Handles Sheet1.LeaveEdit
  Sheet1.ActiveCell.ImeMode = ImeMode.Hiragana
End Sub

[C#]
private void sheet1_LeaveEdit(object sender,
  GrapeCity.Views.ElTabelle.LeaveEditEventArgs e)
{
  sheet1.ActiveCell.ImeMode = ImeMode.Hiragana;
}

この文書は、以前は次のFAQ IDで公開されていました : 3845