[あなたが右のいくつかの選択したファイル/フォルダを右クリックして[プロパティ]を選択すると、Windowsのように。]私は
[リストビュー]私の小さなファイルエクスプローラから選択した項目のプロパティフォームを作成しようとしている異なる属性値を持つ複数のファイルがある場合、どのようにチェックボックスの不確定状態を設定するのですか?
フォームが名前を示し、場所、種類、サイズとは、それは[WCFサービス]サーバー・クライアント・アプリケーションですので、私は独自のスレッドで起動マルチと呼ばれる方法で、サーバから属性を取得
属性。
質問があります: [Hidden]と[Readonly]の属性値が異なる複数のファイルがある場合、CheckState.Indeterminateを設定するにはどうすればよいですか。私がしました
private void GetAttributes(FileAttributes fAttributes)
{
this.Invoke((MethodInvoker)delegate
{
if (fAttributes != 0)
{
bool hidden = (fAttributes & FileAttributes.Hidden) == FileAttributes.Hidden;
if (Hidden.Checked != hidden)
Hidden.CheckState = CheckState.Indeterminate;
bool readOnly = (fAttributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly;
if (ReadOnly.Checked != readOnly)
ReadOnly.CheckState = CheckState.Indeterminate;
}
});
}
public void Multi()
{
FileAttributes fAttributes = client.GetAttributeOfPath(item[0].Path)
this.Invoke((MethodInvoker)delegate
{
if (fAttributes != 0)
{
Hidden.Checked = (fAttributes & FileAttributes.Hidden) == FileAttributes.Hidden;
ReadOnly.Checked = (fAttributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly;
}
});
for (int i = 1; i < itemCollection.Count; i++)
{
Item item = itemCollection[i];
GetAttributes(client.GetAttributeOfPath(item.Path));
}
}
私はこのコードがあなたがしたいことをしていると思いますが、非常に複雑な方法で行います。 –
@ david.sまあまあ誰かが私の質問に答えるまで多くの人が思ったので、他の情報も同じループを計算するアプリケーションでうまくいきますが、あなたのやり方は質問の方がいい答えです。 –