ドロップダウンリストの自動幅調整が不正になる

文書番号 : 25520     文書種別 : 不具合     最終更新日 : 2008/03/13
文書を印刷する
対象製品
InputMan for .NET 4.0J Windows Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
この問題はComboコントロールで発生します。以下の条件でコントロールを設定すると、ドロップダウンリストの幅を自動調整しているにもかかわらず、ドロップダウンリストのリスト項目の一部が隠れます。
1. Fontプロパティにデフォルトの9ポイントより大きいサイズのフォントを設定する。
2. DropDownAutoSizeとDescriptionAutoFitをTrueに設定する。
3. 以下のいずれかの方法でドロップダウンリストに項目を追加する。
  a. DisplayMember, DescriptionMember, DataSourceプロパティを設定する。
  b. BeginUpdate()を呼び出してからItemsプロパティにComboItemオブジェクトを設定し、EndUpdate()メソッドを呼び出して表示を更新する。
回避方法
この問題を修正した修正版(v4.0.2008.0415)をご利用ください。こちらからダウンロードできます。

またはフォントが設定されてからリストボックスにデータが追加されるまでの間に、DropDownメソッドでドロップダウンを開くことによってこの現象を回避することができます。

表示を乱さずにこの回避方法を実装するには、以下の方法が考えられます。
1. デザイナが自動生成したForm1.Designer.csなどのソースファイルを開き、Comboコントロールを設定している箇所を探す。
2. コントロールにフォントが設定された直後に、以下のコードを追加する。
[C#]
this.combo1.CreateControl();
this.combo1.Size = new System.Drawing.Size( 0, 0 );
this.combo1.Drop();
キーワード
INMN06501

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