listview点击一行就变字体 最近在做一个邮件程序,想仿照OUTLOOK收信的界面,就是收到的未读邮件是粗体的,点击后就变成常规字体了,用listview如何实现这种效果? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 增加一列,隐藏,当点击后,在此列做个标记,表示读过了,然后在DrawItem事件中画出其他颜色 根据读取的数据标识判断是否读取private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e){ e.DrawDefault = false; SizeF sizef = e.Graphics.MeasureString(e.Item.Text, e.Item.Font); Graphics g = e.Graphics; Image image = e.Item.ListView.LargeImageList.Images[e.Item.ImageIndex]; g.DrawImage( image, e.Bounds.Left + (e.Bounds.Width - image.Width) / 2, e.Bounds.Top + (e.Bounds.Height - image.Height) / 2, image.Height, image.Width); g.DrawString( e.Item.Text, e.Item.Font, new SolidBrush(e.Item.ForeColor), e.Bounds.Left + (e.Bounds.Width - sizef.ToSize().Width) / 2, e.Bounds.Top + (e.Bounds.Height - sizef.ToSize().Height) / 2);} private void bindFont() { try { foreach (DataGridViewRow dgv in dataGridView2.Rows) { string statu = dgv.Cells["dataGridViewTextBoxColumn4"].Value.ToString(); if (statu.Equals("no")) { dgv.DefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold); } else { dgv.DefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Regular); } } } catch (NullReferenceException) { MessageBox.Show(LoginInfo.networkMessage); } catch (Exception) { } } google 翻译 api windowfrom中动态添加控件的问题 窗口关闭问题…… 介绍一些软件架构,优化之类的书,带地址【严重散分100】 C#播放器播放视频文件的问题 ▽▼如何改写输入键名访问集合时的事件处理? 问一个sql查询 windows应用程序可以操作cookie吗? 各位帮我看看 我写的队列 怎么没法删除首元素啊,谢谢了 求助!在Win2003上安装Visual Studio .NET2002出现问题 数据适配器的数据连接中如何删除不用的数据连接 Process.start 无法在win7下用。
private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)
{
e.DrawDefault = false; SizeF sizef =
e.Graphics.MeasureString(e.Item.Text, e.Item.Font); Graphics g = e.Graphics; Image image =
e.Item.ListView.LargeImageList.Images[e.Item.ImageIndex]; g.DrawImage(
image,
e.Bounds.Left + (e.Bounds.Width - image.Width) / 2,
e.Bounds.Top + (e.Bounds.Height - image.Height) / 2,
image.Height,
image.Width); g.DrawString(
e.Item.Text,
e.Item.Font,
new SolidBrush(e.Item.ForeColor),
e.Bounds.Left + (e.Bounds.Width - sizef.ToSize().Width) / 2,
e.Bounds.Top + (e.Bounds.Height - sizef.ToSize().Height) / 2);
}
{
try
{
foreach (DataGridViewRow dgv in dataGridView2.Rows)
{
string statu = dgv.Cells["dataGridViewTextBoxColumn4"].Value.ToString();
if (statu.Equals("no"))
{
dgv.DefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Bold);
}
else
{
dgv.DefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Regular);
}
}
}
catch (NullReferenceException)
{
MessageBox.Show(LoginInfo.networkMessage);
}
catch (Exception)
{ }
}