ListView 克隆删除了默认字体功能
ListView cloning removes the default font functionality
我有一个基本的 ListView
,其中包含几列。
我创建一个 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());
它克隆 ListViewItem
并硬编码 Font
。
因此更改 ListView
字体不会更改 ListViewItem-s
字体。
ListView1.Font = new Font("Microsoft Sans Serif", 15F, FontStyle.Regular);
只是 Dispose
ListView
的当前 Font
,然后再设置新的:
ListView1.Font.Dispose();
ListView1.Font = new Font("Microsoft Sans Serif", 15F, FontStyle.Regular);
这样,包括克隆的ListViewItem-s
将被强制继承ListView
控件的新字体。
我有一个基本的 ListView
,其中包含几列。
我创建一个 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());
它克隆 ListViewItem
并硬编码 Font
。
因此更改 ListView
字体不会更改 ListViewItem-s
字体。
ListView1.Font = new Font("Microsoft Sans Serif", 15F, FontStyle.Regular);
只是 Dispose
ListView
的当前 Font
,然后再设置新的:
ListView1.Font.Dispose();
ListView1.Font = new Font("Microsoft Sans Serif", 15F, FontStyle.Regular);
这样,包括克隆的ListViewItem-s
将被强制继承ListView
控件的新字体。