2011-08-04 61 views
5

我有可能包含了比它更廣泛的字符串列表框。我懶得寫在此刻調整的代碼,所以我顯示工具提示,顯示整個項目,如果它太大,不適合在列表框中。在ListBox,我怎麼能得到列表框減去滾動條佔用的空間的寬度是多少?

現在,我使用Width屬性獲取寬度,並將其與字符串和字體作爲參數的MeasureText的結果進行比較。

這工作好了大部分的時間,但它並沒有在該項目符合列表框不使用滾動條,但不適合用滾動條有點苗條的列表框的情況下工作。

所以,我怎麼能找到:

  1. 如果一個列表框顯示滾動條
  2. 列表框的寬度不包括滾動條

我猜2會如果得到解決無論該版本運行的Windows版本或顯示配置如何,滾動條都佔用相同的像素寬度。有誰知道這是否屬實?

回答

5

可以使用ListBox.ClientRectangle.Width獲得通過控制使用的內部空間。

如果滾動條是可見的,返回的寬度值將是內部寬度減去滾動條的寬度,所以它是安全的,你來衡量反對。

相關問題