社区
C#
帖子详情
C# listView问题============================(WinForm)
qiuzhijun
2010-01-07 05:34:21
C# listView间隙怎样设置的?请看图。
...全文
526
15
打赏
收藏
C# listView问题============================(WinForm)
C# listView间隙怎样设置的?请看图。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
asight
2010-08-21
打赏
举报
回复
需要容器
高新娥
2010-06-02
打赏
举报
回复
楼主解决这个问题了吗?能告诉下我吗?我也遇到这个问题了
walkghost
2010-01-08
打赏
举报
回复
还没用过这个控件,汗颜。。。。
帮顶,大晚上的,楼主不容易。
h_w_king
2010-01-08
打赏
举报
回复
把要绘的矩形变高些。
private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)
{
Rectangle r = new Rectangle(e.Bounds.Location, new Size(e.Bounds.Width, e.Bounds.Height + 20));
e.Graphics.DrawImage(e.Item.ImageList.Images[e.Item.ImageIndex], r);
e.Graphics.DrawString(e.Item.Text, e.Item.Font, new SolidBrush(e.Item.ForeColor), new Point(e.Bounds.X + 10, e.Bounds.Y + 30));
}
nixiang12
2010-01-08
打赏
举报
回复
帮顶..listview 用的不好
LorenLiu
2010-01-07
打赏
举报
回复
似乎比较麻烦,LZ还是试试继承一个ListView,然后设置OwnerDraw = true;并重载OnDrawItem方法吧
xr396464010
2010-01-07
打赏
举报
回复
帮忙顶下。。。
qiuzhijun
2010-01-07
打赏
举报
回复
我用的是:this.listView1.View = View.LargeIcon;
改变图,那间距还是不变,如果换其他的就什么都显示了。
wuyq11
2010-01-07
打赏
举报
回复
行间距可以用 ImageList中的图标大小来控制
listview
qiuzhijun
2010-01-07
打赏
举报
回复
难道没有人知道这个?
wangyue4
2010-01-07
打赏
举报
回复
listview的视图改成smallicon
qiuzhijun
2010-01-07
打赏
举报
回复
有人会的吗?
ProjectDD
2010-01-07
打赏
举报
回复
winform的话,你可以先使用容器(表格容器)
TableLayoutPanel 把每个ListView放到单元格中
如果你还想保留每个格的间距自定义的话,可以为ListView设置 .Margin和.Anchor
mytimes_walker
2010-01-07
打赏
举报
回复
Groups?
flyerwing
2010-01-07
打赏
举报
回复
呀,没用过。
学习
c#
winform
===datagridview 单元格合并
c#
winform
===datagridview 单元格合并
c#
winform
===datagridview 单元格合并
c#
winform
===datagridview 单元格合并
C#
WinForm
控件美化扩展系列之
ListView
前面的一篇文章
C#
WinForm
控件美化扩展系列之
ListView
(2)中,存在列表项文本错乱的
问题
,这是因为绘制文本的时候不小心选错了一个属性,把SubItem选成了Item,所以总会得到了第一项的文本。除了修正这个错误外,对列表项选中后的背景画法进行了改变,使得选中的列表项不在是每个子项都有一个矩形边框,而是全部只有一个矩形边框。另外,实现了对
ListView
的边框的重绘,可以轻易的更换边框颜色。 如下: private void WmNcPaint(ref Message m) { base.WndProc(ref m); if (base.BorderStyle == BorderStyle.None) { return; } IntPtr hDC = NativeMethods.GetWindowDC(m.HWnd); if (hDC == IntPtr.Zero) { throw new Win32Exception(); } try { Color backColor = BackColor; Color borderColor = _borderColor; Rectangle bounds = new Rectangle(0, 0, Width, Height); using (Graphics g = Graphics.FromHdc(hDC)) { using (Region region = new Region(bounds)) { region.Exclude(AbsoluteClientRectangle); using (Brush brush = new SolidBrush(backColor)) { g.FillRegion(brush, region); } } ControlPaint.DrawBorder( g, bounds, borderColor, ButtonBorderStyle.Solid); } } finally { NativeMethods.ReleaseDC(m.HWnd, hDC); } m.Result = IntPtr.Zero; }
Android核心组件
ListView
详解
在Android所有常用的原生控件当中,用法最复杂的应该就是
ListView
了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。
ListView
可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。 另外
ListView
还有一个非常神奇的功能,我相信大家应该都体验过,即使在
ListView
中加载非常非常多的数据,比如达到成百上千条甚至更多,
ListView
都不会发生OOM或者崩溃,而且随着我们手指滑动来浏览更多数据时,程序所占用的内存竟然都不会跟着增长。那么
ListView
是怎么实现这么神奇的功能的呢? 下面我们来学习它,了解了它的基本工作原理,在感叹Google大神能够写出如此精妙代码的同时我也有所敬畏.1,
ListView
介绍; 2,原理讲解; 3,简单实现; 4,
ListView
扩展;
非常实用
c#
操作Access数据库的例子(application)
本文介绍
C#
访问操作Access数据库的基础知识,并提供一个相关的例程。 1.通过ADO.NET的OleDb相关类来操作Access 主要知识点如下: using System.Data.OleDb; using System.Data; 连接字符串:String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=product.mdb"; 建立连接:OleDbConnection connection = new OleDbConnection(connectionString); 使用OleDbCommand类来执行Sql语句: OleDbCommand cmd = new OleDbCommand(sql, connection); connection.Open(); cmd.ExecuteNonQuery(); 2.取得Access自增标识字段在插入数据后的id值 cmd.CommandText = @"select @@identity"; int value = Int32.Parse(cmd.ExecuteScalar().ToString()); return value; 3.执行事务 需要用到OleDbTransaction,关键语句如下: OleDbConnection connection = new OleDbConnection(connectionString); OleDbCommand cmd = new OleDbCommand(); OleDbTransaction transaction = null; cmd.Connection = connection; connection.Open(); transaction = connection.BeginTransaction(); cmd.Transaction = transaction; cmd.CommandText=sql1; cmd.ExecuteNonQuery(); cmd.CommandText=sql2; cmd.ExecuteNonQuery(); transaction.Commit(); 4.执行查询,返回DataSet OleDbConnection connection = new OleDbConnection(connectionString); DataSet ds = new DataSet(); connection.Open(); OleDbDataAdapter da = new OleDbDataAdapter(sql, connection); da.Fill(ds,"ds"); 5.分页查询 分页查询使用OleDbDataReader来读取数据,并将结果写到一个DataSet中返回。 以上内容封装为三个可重用的类:AccessDBUtil,AccessPageUtil,Page 代码这里下载AccessDBUtilDemo.rar (191.37 KB , 下载:999次) 本例程是一个
c#
的
winform
程序,但是数据访问类可以在Web环境下使用。 本例程演示了: 1.Access数据库的插入,更新,修改,查询; 2.带参数的sql语句的使用,而不是拼SQL; 3.使用DataReader的分页查询,而不是用嵌套的SQL语句来分页; 4.用事务同时执行多个SQL语句; 5.在插入数据的同时返回最新的ID值; 6.整型,实型,字符串,日期型,布尔型五种数据类型的操作; 7.使用正则表达式来验证整数和实数; 8.
listview
用来显示数据的一些基本用法。 本示例不包括: 1.高效的分页查询,仅仅是提供了一种分页的方法,但我认为DataReader应该比嵌套的SQL语句快(未测试)。 2.完善的分页封装,只提供了分页的简单包装。 3.嵌套的事务处理,提供了同时执行多个sql语句的事务处理,但不支持嵌套事务。 4.
listview
的使用,只是利用
winform
控件来演示数据访问,因此不能作为
winform
编程的良好示例,例如添加数据时界面并没有很好地更新。
非常好用的
C#
winform
操作EXCEL文件源代码
private void button1_Click(object sender, System.EventArgs e) {//保存为EXCEL文件 if(this.
listView
1.Items.Count0) { MyRange =MyWorkSheet.get_Range("A2",Missing.Value); object [,] MyData = new Object[this.
listView
1.Items.Count,3]; foreach(
ListView
Item lvi in this.
listView
1.Items) { MyData[lvi.Index,0] = lvi.Text; MyData[lvi.Index,1] = lvi.SubItems[1].Text; MyData[lvi.Index,2] = lvi.SubItems[2].Text; } MyRange = MyRange.get_Resize(this.
listView
1.Items.Count,3); MyRange.Value2= MyData; MyRange.EntireColumn.AutoFit(); } MyExcel= null; } catch(Exception Err) { MessageBox.Show("调用EXCEL程序时出现错误!"+Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } }
C#
110,546
社区成员
642,561
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章