Windowsフォームリストボックスの表示高さを判断する方法はありますか?私が開発しているアプリケーションでは、リストボックスがドッキングされたフォームがあります。 ListBox.IntegralHeightがtrueに設定されているため、ListBoxが使用しない下部の余分なスペースを削除するために、フォームのサイズを自動的に変更する必要があります。現在、Form.HeightをListBox.ItemHeightで割った値を使ってフォームのサイズを変更し、余分な高さを四捨五入するためにListBox.ItemHeightでその値を掛けています。リストボックスを表示する高さ
this.Height = (this.Height/this.listBox.ItemHeight) * this.listBox.ItemHeight;
これはVistaで素晴らしい作品が、私はXPに自分のアプリケーションを取るとき、何かがうまくいかないと、まだフォームの下部に示す余分なスペースがあります。
ListBox.PreferredHeightを使用することはできません。これは、すべてのアイテムが表示された場合にListBoxが使用する領域の量がわかります。