之前一直觉得控件的Tag属性跟TextBox的Text属性类似,只是用来保存用户对控件标记的文本信息或者布尔值,所以在看到下边的代码之后,就感觉有点看不懂了。
<span style="font-size:18px;">ListViewItem item = listViewChannels.Items.Add(DeviceName);
item.Tag = ipcChannel;</span>
上边这段代码的作用是创建一个ListViewItem的对象,并将其Tag的值设置为自定义的一个类IPCChannel的对象.
<span style="font-size:18px;">channelList.Add(item.Tag as IPCChannel);</span>
这句代码的作用就是将上边创建的ListViewItem 类的item 的Tag属性中保存的自定义类IPCChannel的对象提取出来,并添加到列表中。
后边查了一下才知道,原来Tag属性的定义如下: