GcComboBoxでTextChangedイベントでアイテムをクリアすると例外が発生する

文書番号 : 41768     文書種別 : 不具合     登録日 : 2018/04/18     最終更新日 : 2018/06/27
文書を印刷する
対象製品
InputMan for Windows Forms 10.0J
状況
修正済み
詳細
GcComboBoxのドロップダウンからタッチ操作で値を選択した後、TextChangedイベントでGcComboBoxのアイテムをクリアすると例外が発生します。

ドロップダウンからマウス操作で値を選択した場合や、SelectedIndexChangedイベント/SelectedValueChangedイベントでアイテムをクリアした場合は問題ありません。
回避方法
この問題はService Pack 2(v10.0.4002.2012)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページ からダウンロードできます。

Service Pack 2より前のバージョンでは次の方法で回避可能です。

BeginInvoke()を使用して非同期処理でアイテムをクリアすると問題を回避できます。

◎サンプルコード(VB)
Private Sub GcComboBox1_TextChanged(sender As Object, e As EventArgs) Handles GcComboBox1.TextChanged
  Me.BeginInvoke(New System.Windows.Forms.MethodInvoker(AddressOf InvokeCallBack))
End Sub

Private Sub InvokeCallBack()
  GcComboBox1.Items.Clear()
End Sub

◎サンプルコード(C#)
private void gcComboBox1_TextChanged(object sender, EventArgs e)
{
  this.BeginInvoke((MethodInvoker)delegate ()
  {
    gcComboBox1.Items.Clear();
  });
}