【问题标题】:have a column in c# listview truncated at the beginning instead of the end在 c# listview 中有一列在开头而不是结尾被截断
【发布时间】:2011-03-27 03:00:29
【问题描述】:

在 C# 中,我有一个列表视图控件。我希望其中一列中的文本字段在开头而不是结尾被截断。

即我希望第 2 列中的文本字段读取:

...名字1

...名字2

...名字3

而不是

文件...

文件...

文件...

【问题讨论】:

    标签: c# listview


    【解决方案1】:

    试试

        void Form1_Load(object sender, EventArgs e)
        {
            listView1.OwnerDraw = true;
            listView1.DrawColumnHeader +=listView1_DrawColumnHeader;
            listView1.DrawSubItem+=listView1_DrawSubItem;
        }
    
    
        private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
        {
            e.DrawText();
        }
    
        private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            e.DrawText(TextFormatFlags.Right);
        }
    

    如果您希望看到此行为的只是一个特定列,请说 col index = 5,然后尝试

        private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            if (e.ColumnIndex == 5)
            {
                e.DrawText(TextFormatFlags.Right);
            }
            else
            {
                e.DrawText();
            }
        }
    

    【讨论】:

    • 谢谢,但是我没有得到与使用 ownerdraw=true 之前定义的相同的表格布局(例如不同的列宽)
    猜你喜欢
    • 2021-09-30
    • 2016-03-08
    • 2022-01-15
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2022-06-21
    • 2023-03-27
    • 2022-01-25
    相关资源
    最近更新 更多