C# ListView克隆将删除默认字体功能
我有一个基本的C# ListView克隆将删除默认字体功能,c#,listview,listviewitem,C#,Listview,Listviewitem,我有一个基本的列表视图,其中有几列 我使用以下方法创建一个ListViewItem: ListViewItem item = new ListViewItem(); item.Text = "First"; item.SubItems[1].Text = "Second"; 然后我将ListViewItem添加到我的ListView ListView1.Items.Add(item); 因此,我有一种方法,可以更改ListView1的Font, 如果ListView更改了字体,则所有List
列表视图
,其中有几列
我使用以下方法创建一个ListViewItem
:
ListViewItem item = new ListViewItem();
item.Text = "First";
item.SubItems[1].Text = "Second";
然后我将ListViewItem
添加到我的ListView
ListView1.Items.Add(item);
因此,我有一种方法,可以更改ListView1
的Font
,
如果ListView
更改了字体,则所有ListViewItem-s
也会更改字体
但是如果我使用.Clone()
函数
ListView1.Items.Add((ListViewItem)item.Clone());
它克隆列表视图项
,并硬编码字体
因此,更改列表视图
字体不会更改列表视图项-s
字体
ListView1.Font = new Font("Microsoft Sans Serif", 15F, FontStyle.Regular);
在设置新的
之前,只需处置列表视图的当前字体
:
ListView1.Font.Dispose();
ListView1.Font=新字体(“Microsoft无衬线字体”,15F,FontStyle.Regular);
这样,包括克隆的ListViewItem-s
将被强制继承ListView
控件的新字体
在设置新的之前,只需处置列表视图的当前字体
:
ListView1.Font.Dispose();
ListView1.Font=新字体(“Microsoft无衬线字体”,15F,FontStyle.Regular);
这样,包括克隆的ListViewItem-s
将被强制继承ListView
控件的新字体
在克隆aListViewItem
之前,您应该更改ListView的字体,以便新项目继承新字体。@jq通常问题是,用户在克隆后更改为ListView的字体。基本上,我希望将ListViewItems字体链接到ListView的字体。但是由于某些原因,克隆它们会使它们拥有自己的硬编码字体。在克隆之前,您应该更改列表视图的字体,这样新项目就会继承新字体。@jq通常问题是,用户在克隆后会改为列表视图的字体。基本上,我希望将ListViewItems字体链接到ListView的字体。但由于某些原因,克隆它们会使它们拥有自己的硬编码字体。使用此方法进行编辑时,由于某些原因导致崩溃的几率为2%,参考:@thekguy读取了Hans Passant的评论。使用此方法进行编辑时,由于某些原因导致崩溃的几率为2%,参考:@thekguy读取了Hans Passant的评论。