- - PR -
コンボボックスの動的な幅変更
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-16 10:30
取得したデータから最大幅を計算し
動的に、コンボボックスのDropDownWidthを変更させようとしていて サンプルのつもりで DrawItemイベントハンドラとして、下記メソッドを呼び出しているのですが コンボボックスのボタンを3度押さなければプルダウンが表示されない状態になってしまいます。 どの部分に問題があるのか見当がつかない状態なので、どなたかご教授宜しくお願いします。 private void comboBox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { // 文字列サイズの取得 Graphics g = e.Graphics; System.Drawing.SizeF size = g.MeasureString(comboBox1.Text, comboBox1.Font); comboBox1.DropDownWidth = (int) size.Width; // 描画する文字列の取得 string txt = ((ComboBox) sender).Items[e.Index].ToString(); //文字列の描画 e.Graphics.DrawString(txt, e.Font, new SolidBrush(e.ForeColor), e.Bounds); // フォーカスを示す四角形を描画 e.DrawFocusRectangle(); } | ||||
|
投稿日時: 2006-01-16 11:13
拡張 ComboBox の作成 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1