如何在listview中设置文字内容的显示和字体颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在listview中设置文字内容的显示和字体颜色相关的知识,希望对你有一定的参考价值。

,这是最后效果图,想研究下这样的效果是如何实现的,我现在只能做成左边图片,右边字体内容部分在一行显示,并且无法像图中效果那样,第一行黑色字体,下边两行灰色字体,难道右边也是图片效果,具体真不清楚,只有20财富,全部贡献,求解
希望能够得到具体实现的源代码,谢谢

listView.View = Tile
天然就是这种效果,TileSize根据需要设置追问

折行是折了,设置TileSize宽和高,根据显示内容长度能调整成三行,可是每次获取到的内容长度不是固定的啊,比如我显示的图片效果是门市->仓库,下次获取的值又变长了,显示的效果就不一样了,但是不是我那图片的效果啊,还请继续指教

追答

宽固定,当内容超过时按说是显示为省略号结尾~当然具体我没试过。文本超过宽度时你想要什么效果?

追问

就像我截图的效果那样,就分三行,不论每行长度如何变化,能够明确分开三行显示,能给出具体实现代码吗?

追答

做了个demo测试了一下,应该说大部分项都是你希望的效果是吧:

 

但同时我发现一个问题,就是当ListViewItem.Text中带空格或中文时,就会折行显示,图中绿框那个项就是这个问题,listView.LabelWrap = false也无效。可能正是这个问题导致你的效果不满意,这可能是ListView的一个BUG,我在尝试找寻解决办法...

追问

嗯,效果差不多了,大体能实现也行,至于细节问题,随后我们再沟通,能给出你的代码实现吗?非常感谢

追答

上面的demo是昨晚在家写的,今天在公司另写了一个,常规应用,没特别地方:

参考技术A 为何非要用listview?
这个用Repeater 很好实现,画个简单表格,当模板,
弄个图片显示在左侧,右侧三行显示对应文字。就OK。
网上搜搜很多教程。用Repeater吧。追问

那有repeater的具体实现代码,如果能给提供,我会追加奖励

追答



'>
' >

以上是aspx 页面代码,
在cs文件中,增加事件rpShippingExtendInfoes_DataBound,rpShippingExtendInfoes_ItemCommand及数据绑定
protected void rpShippingExtendInfoes_DataBound(object sender, RepeaterItemEventArgs e)

if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)

//处理绑定数据的样式及显示信息等。



protected void rpShippingExtendInfoes_ItemCommand(object sender, RepeaterCommandEventArgs e)

//处理按钮事件。例如删除修改等。

追问

我做的是Winform程序,大侠

追答

,,你的题目里哪个地方写明winform了哦?

追问

是我没说明白,那这位朋友能否解决Winform当中这种实现效果呢?请指教

如何从 JColorChooser 在 JLabel 中设置字体颜色

【中文标题】如何从 JColorChooser 在 JLabel 中设置字体颜色【英文标题】:How to set font color in JLabel from JColorChooser 【发布时间】:2019-03-22 13:44:46 【问题描述】:

我正在完成一项任务,我有一个任务要完成。我需要一点帮助。我需要从 JColorChooser 中选择一种颜色。然后,我附近的 JLable(最初显示“未选择颜色”)应将文本更改为“这是您的颜色”,并且该文本应与从 JColorChooser 中选择的颜色相同。问题是,当我运行程序时,在我从颜色选择器中选择颜色后,文本会发生变化,但更改后的文本的颜色不会改变。它是白色的。这是我目前得到的:

private void colorActionPerformed(java.awt.event.ActionEvent evt)                                       
        JColorChooser jcc = new JColorChooser ();
        jcc.showDialog(null, "Choose your color", Color.GREEN);
        Color c = jcc.getColor();
        jLabel2.setText("This is your color");
        jLabel2.setForeground(c);

【问题讨论】:

【参考方案1】:

不要使用Color c = jcc.getColor();

改为使用

Color c = jcc.showDialog(null, "Choose your color", Color.GREEN);

只有在 c 的返回值为 null 时才使用 getColor()。

【讨论】:

以上是关于如何在listview中设置文字内容的显示和字体颜色的主要内容,如果未能解决你的问题,请参考以下文章

VB中如何将listview的表头文字置中显示?

java中怎么设置label的字体大小及颜色显示

如何在ngui的单个label中设置不同大小的文字

OD有办法修改软件内文字么

如何在 ListView 中设置 Counter 应用

Android中设置ListView内容刷新问题