半角文字を入力しても、一文字目が全角、一文字目以降が半角になる場合がある

文書番号 : 23590     文書種別 : 不具合     最終更新日 : 2007/03/07
文書を印刷する
対象製品
El Tabelle MultiRow 4.0J
発生環境
次に示すバージョンより、前のバージョンで発生します。
v4.0.2007.0518 (Service Pack4)
状況
修正済み
詳細
次の条件を満たす時、IMEの設定が半角(#1)でも最初の1文字目の入力が全角になります。(#1:例えば、IMEの設定でテンキーからの入力は「常に半角」とし、テンキーから入力する場合)

1) セルのIMEモード(ImeMode)プロパティに、Windows.Forms.ImeMode.On、Windows.Forms.ImeMode.Hiragana、またはWindows.Forms.ImeMode.Katakanaなどを設定し IMEを使用する設定を行っている。

2) 1)が設定されているセルに対して、シート非編集時に、半角の値を入力する。

例えば、"555"を入力しても、セルには"555"が入力されます。
回避方法
この現象は、ファイル バージョン v4.0.2007.0920 以降のアセンブリで修正されています。アセンブリはこちらから取得できます。
または、PreviewKeyDownイベントを作成し、入力時に編集モードにすることで回避します。

VB:
Private Sub MultiRowSheet1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles MultiRowSheet1.PreviewKeyDown
    If MultiRowSheet1.EditState = False Then
      If e.KeyData = Keys.ProcessKey Then
        MultiRowSheet1.KeyAction(MKeyAction.EnterEdit)
      End If
    End If
  End Sub
  
C#:
private void multiRowSheet1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
      if (multiRowSheet1.EditState == false) {
        if (e.KeyData == Keys.ProcessKey)
        {
          multiRowSheet1.KeyAction(MKeyAction.EnterEdit);
        }
      }
    }
キーワード
ETMR05971

この文書は、以前は次のバグレポートIDで公開されていました : 6834