我想實現一個DataGridView具有比autosize更小的單元寬度。 如果你看起來非常接近一個自動化的單元格,你會注意到仍然有一些空間不用於實際顯示單元格的內容。DataGridView - 禁止所有的字換行
這就是爲什麼我自己通過TextRenderer
開始測量內容的寬度,然後手動設置列的寬度。
最初的問題是,在單元實際被「填滿」之前很長時間,「A」顯示爲「A ...」。原因是cell.Style.WrapMode
設置爲「nonSet」。 DataGridViewTriState.True
確實適用於「A」的例子,我感到非常高興。
但現在我只注意到如果字符串有多個單詞(「A,B」),DataGridView試圖在單元實際被「填充」之前將內容顯示爲多行。
我現在在尋找的是一種方法來刪除單元格內容的「填充」,或者完全禁止某個單元格/列(=沒有字符串截斷的單行)上的單詞換行。
此外,我應該承認,該字符串沒有隱藏的空白,所以修剪完全沒有效果。
編輯︰ 我隨機偶然發現了一些似乎做我正在搜索的同事代碼。
StringFormat format = new StringFormat(StringFormatFlags.NoClip);
文檔說字符串有他們周圍的一些矩形比字符串本身更大。如果矩形伸出可寫區域,則字符串被包裹。該代碼片段會抑制該(默認)行爲。
唯一的問題是此解決方案似乎只能用於繪製字符串。我沒有找到將字符串格式對象分配給字符串的可能性。
我希望內容顯示在一行中。所以不幸的是,自動化DataGridView的行是沒有選擇的。 – 2013-05-08 07:58:45