关于这个看似简单的主题,我无法找到答案:是否可以在WinForms ListView控件中对齐单个子项的文本?
如果是这样,怎么样?
我希望同一列中的文本以不同方式对齐.
"ColumnHeader"类具有"TextAlign"属性,该属性将更改列中所有子项的对齐方式.如果您需要更多花哨的东西,您可以随时使用"DrawSubItem"事件并将其绘制为所有者.
例如:
listView1.Columns[1].TextAlign = HorizontalAlignment.Right;
将Column的"1"对齐设置为右
注意:由于底层本机ListView控件(位于comctl32.dll中)的限制,第一列无法对齐.它将始终对齐左侧.第二个限制是当您自定义绘制(自定义绘制子项)时:启用列重新排序时,第一列的文本不会正确重新排序.我解决了这个限制(不会把它称为bug,因为listview支持许多列表样式,列表视图的内部数据结构就像一个树),不允许重新排序第一列,这在大多数情况下都没有问题,因为你会使用某种键作为第一列,如数字或类似的东西.