【问题标题】:ListView with different text alignments?ListView 具有不同的文本对齐方式?
【发布时间】:2012-01-21 13:11:55
【问题描述】:

如何设置 ListView 使某些列右对齐和某些列左对齐?

我的意思是我有一个 ListView,它的布局是从左到右的,但我想将第二列和它下面的任何东西对齐到左?

提前致谢。

#开始编辑

ListView的

View属性Details

我正在使用类似这样的代码:

        ListViewItem a = new ListViewItem();
        a.Text = "Some Name";
        a.SubItems.Add("Some Phone num");
        listView1.Items.Add(a);

我想成为 Phone NumberTextAlignment 对,但我不想更改 Name 的对齐方式。

#结束编辑

【问题讨论】:

  • 您要对齐的项目是什么类型?例如,第二个子项是第一个对象的一部分吗?例如,如果您因为第二个字段而以不同的方式放置第二个项目,那么您最好使用模板。请发布更多详细信息。

标签: c# listview text-alignment winapp


【解决方案1】:

过去已经回答过类似的问题,也许这会对您有所帮助:

How do I align text for a single subitem in a ListView using C#?

【讨论】:

  • 我无法更改对齐方式。所以我启用了 OwnerDraw 并像他一样解决了这个问题,然后更改了 alignment 但是当我向 ListView 插入一个新项目时,它的对齐方式仍然是以前的对齐方式!有什么问题?
  • 在我链接的示例代码中,TextFormatFlags 仅针对第 0 行之后的第一列进行修改。您应该执行以下操作。 lv.OwnerDraw = true; lv.DrawSubItem += new(lv_DrawSubItem); void lv_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) { ` var flags = TextFormatFlags.Left;` ` if (e.ColumnIndex == 1) { flags = TextFormatFlags.Right; }` ` e.DrawText(flags);` }
猜你喜欢
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 2020-12-04
  • 2015-10-10
  • 2016-01-06
  • 2016-08-05
  • 2018-07-21
  • 1970-01-01
相关资源
最近更新 更多