我正在尝试从我的小文件资源管理器 [ListView]
[就像在 Windows 中右键单击某些选定的文件/文件夹并选择属性时一样,为选定的项目创建一个属性表单。]
表单显示名称、位置、类型、大小和属性
它是一个 [WCF 服务] 服务器客户端应用程序,因此我从一个名为Multi的方法从服务器获取属性,该方法在其自己的线程中启动。
问题是:如果多个文件具有 [Hidden] 和 [Readonly] 的不同属性值,我该如何设置 CheckState.Indeterminate。
WCF_Client.FM_ServiceReference.FileManagerClient client;
private void Form_MultiProp_Load(object sender, EventArgs e)
{
Thread th = new Thread(Multi);
th.Start();
}
private void GetAttributes(FileAttributes fAttributes)
{
this.Invoke((MethodInvoker)delegate
{
if (fAttributes != 0)
{
if ((fAttributes & FileAttributes.Hidden) == FileAttributes.Hidden)
Hidden.Checked = true;
if ((fAttributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
ReadOnly.Checked = true;
}
});
}
public void Multi()
{
foreach (Item item in itemCollection)
{
GetAttributes(client.GetAttributeOfPath(item.Path));
}
}