Validatingイベントによるフォーカス移動キャンセル後、ふりがな入力が動作しなくなる

文書番号 : 25517     文書種別 : 不具合     最終更新日 : 2008/03/13
文書を印刷する
対象製品
InputMan for .NET 4.0J Windows Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
この問題はImeコンポーネントで発生します。Validatingイベントのハンドラでe.Cancel = Trueと設定してフォーカス移動が抑制されると、このコントロールに設定されているImeコンポーネントのふりがな取得機能が動作しなくなります。
回避方法
この問題を修正した修正版(v4.0.2008.0415)をご利用ください。こちらからダウンロードできます。

またはImeコンポーネントを設定するコントロールについて、Enterイベントでコンポーネントを新規作成し、必要な設定を行います。また、LeaveイベントでこのImeコンポーネントを設定解除し、破棄します。

[VB]
Private ime As Ime

Private Sub Edit2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Edit2.Enter
  '【回避策[1/2]】
  ime = New Ime()
  ime.SetReadingStringOutput(Edit2, New ReadingStringOutput(Edit1, ReadingStringOutputMode.Append))
End Sub

Private Sub Edit2_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Edit2.Leave
  '【回避策[2/2]】
  ime.Dispose()
  ime = Nothing
End Sub

[C#]
private Ime m_Ime;

private void edit2_Enter( object sender, EventArgs e )
{
  //【回避策[1/2]】
  m_Ime = new Ime();
  m_Ime.SetReadingStringOutput(
    edit2,
    new ReadingStringOutput( edit1, ReadingStringOutputMode.Append )
  );
}

private void edit2_Leave( object sender, EventArgs e )
{
  //【回避策[2/2]】
  m_Ime.Dispose();
  m_Ime = null;
}
キーワード
INMN06686

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