listView 项的距离能否调整

MD5cheng 2010-06-28 01:23:42
在listVied 中 。 项的 距离 离得太远了 。 。。 我要让他们连在一起都没办法。
请问有什么方法可以将listView 的距离拉近 。
是里面的项拉近 !
...全文
501 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
克里斯丁~ 2012-05-09
  • 打赏
  • 举报
回复
太棒了,终于解决问题了,楼主在21楼给的代码确实能用。拷贝后调用方法就行。
hgyin212314 2010-11-01
  • 打赏
  • 举报
回复
楼主 ,请问怎么改改呢,现在我也要用这个知识点 谢谢了
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
有没高手教教啊 。 。。 就快上学了哎 。 。 快点帮我 。。
lpt1122 2010-06-28
  • 打赏
  • 举报
回复
同问。学习
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ghost281536992 的回复:]
你一行里面的两张图片是在同一个单元格里还是两个单元格里?
[/Quote]
如何调单元格的大小 ??
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ghost281536992 的回复:]
你一行里面的两张图片是在同一个单元格里还是两个单元格里?
[/Quote]
两个单元格 。。
ghost281536992 2010-06-28
  • 打赏
  • 举报
回复
你一行里面的两张图片是在同一个单元格里还是两个单元格里?
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 ghost281536992 的回复:]
这个。。。。。。教字从何谈起,大家一起讨论罢了,都是菜鸟,呵呵
只能是有了问题大家一起想办法解决,从头到尾教不太现实。
实际上listview绘制的时候就用到了Ondrawitem这个事件。只不过你现在为了实现自己想要的功能把这个函数加强了一下而已。
你找listview这个类的元数据。东西都在里面。
public class ExListview : ListView
{
……
[/Quote]

谢谢你。。 我中午去学校解决了这事情了。。

这个可以用
// <summary>
/// 控制ListView项之间的距离
/// </summary>
/// <param name="Handle"></param>
/// <param name="wMsg"></param>
/// <param name="wParam">水平间距</param>
/// <param name="lParam">垂直间距</param>
/// <returns></returns>
[DllImport("User32.dll")]
private static extern int SendMessage(int Handle, int wMsg, int wParam, int lParam);

const int LVM_FIRST = 0x1000;
const int LVM_SETICONSPACING = LVM_FIRST + 53;

public static void SetListViewSpacing(ListView lst, int x, int y)
{
SendMessage(lst.Handle.ToInt32(), LVM_SETICONSPACING, 0, x * 65536 + y);
}


但要改下
dylike 2010-06-28
  • 打赏
  • 举报
回复
我的建议是:使用Button或Picturebox等控件通过代码来布局,而不是依赖LV.这样会更自由些.
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
哪个好心人帮我看 。 。 在线等啊 。 。
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dylike 的回复:]
如果是大图标模式,则需要在windows下操作:
桌面空白处=>右键=>属性=>设置桌面图标间距.
[/Quote]


桌面图标间距 ?? 。。 没见过 。。
没有别的办法吗?
ghost281536992 2010-06-28
  • 打赏
  • 举报
回复
这个。。。。。。教字从何谈起,大家一起讨论罢了,都是菜鸟,呵呵
只能是有了问题大家一起想办法解决,从头到尾教不太现实。
实际上listview绘制的时候就用到了Ondrawitem这个事件。只不过你现在为了实现自己想要的功能把这个函数加强了一下而已。
你找listview这个类的元数据。东西都在里面。
public class ExListview : ListView
{
public void Exlistview()
{
}

protected override void OnDrawItem(DrawListViewItemEventArgs e)
{
base.OnDrawItem(e);
把重绘的代码写到这个里面

}
}
dylike 2010-06-28
  • 打赏
  • 举报
回复
如果是大图标模式,则需要在windows下操作:
桌面空白处=>右键=>属性=>设置桌面图标间距.
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
我不会重绘 。 。 还没学到 。 。 能教我吗 。。
谢谢你帮了我这么多 。 。
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
这是我做了后的效果 。 。


图片离得太远了 。 。
求高手帮忙解决
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dylike 的回复:]
ListView默认以项字体高度为行高,其次判断有无图标,如果图标高度大于字体高度,则以图标高度为准.
你可以做一个透明的图标,设置为每行项的图标,比如这个图标高度是20,那么行高就是20.
如果不希望因为放入一个图标而使得行看起来文字缩进的,可以做成宽1高20的图标.这个图标可以动态生成:
dim ItmIcon as new bitmap(1,20)
ImageList1.Images……
[/Quote]

看不懂什么意思 。。
能给点代码么 。。 加上注释。
拜托了 。 急用 。在线等 。
ghost281536992 2010-06-28
  • 打赏
  • 举报
回复
http://www.codesoso.com/code/Image-ListView-SubItem.aspx
这是别人写的一个listview,要实现你那样的效果还要再自己小改一下。
dylike 2010-06-28
  • 打赏
  • 举报
回复
ListView默认以项字体高度为行高,其次判断有无图标,如果图标高度大于字体高度,则以图标高度为准.
你可以做一个透明的图标,设置为每行项的图标,比如这个图标高度是20,那么行高就是20.
如果不希望因为放入一个图标而使得行看起来文字缩进的,可以做成宽1高20的图标.这个图标可以动态生成:
dim ItmIcon as new bitmap(1,20)
ImageList1.Images.Add(ItmIcon)
ghost281536992 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 md5cheng 的回复:]
引用 14 楼 md5cheng 的回复:
引用 13 楼 ghost281536992 的回复:
listview这个控件有个毛病,就是大小不能随意调,你要是想随意调,那就只能绑定一个imagelist,然后通过调整imagelist里面的image的size来调整项的大小。
listview有两个属性,一个是smallimagelist,一个是largeimagelist,在属性列表里能……
[/Quote]

不一定有用,这种方法好像只用于设置行高。你试下吧。
先往窗口里拖个imagelist控件,然后将listview的imagelist指向它。然后把你要的图片加到imagelist里。然后把listviewitem的imageindex(就是你想要选的图片在imagelist里的索引)设置下,但是subitem的图标好像是需要重绘的,我没有实际应用经历,但是跟你这个类似,当时是重写了,因为listview的第二列默认是没有图标的。
protected override void OnDrawItem(DrawListViewItemEventArgs e),用这个。
网上也有带图标的listview控件,别人自己做的,你下一个来改改也可以。
MD5cheng 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 md5cheng 的回复:]
引用 13 楼 ghost281536992 的回复:
listview这个控件有个毛病,就是大小不能随意调,你要是想随意调,那就只能绑定一个imagelist,然后通过调整imagelist里面的image的size来调整项的大小。
listview有两个属性,一个是smallimagelist,一个是largeimagelist,在属性列表里能找到,随便绑定哪个都行。分别对应view属性的……
[/Quote]
这个有没有用呢?
有用的话, 要怎么用呢 。。 不是很懂
加载更多回复(3)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧