■90389 / ) |
Re[2]: ファイル選択用コントロールはない? |
□投稿者/ としぞー (2回)-(2019/03/06(Wed) 11:06:09)
|
とっちゃんさん、ありがとうございます。
まだ初めて一週間くらいですので何が正解か分からず、
とりあえずエラーが出ないのでOKと判断しているレベルですが、
ExplorerListView.csに以下を追加し、
public string sFilePath;
protected override void OnSelectedIndexChanged(EventArgs e)
{
if (SelectedItems.Count > 0)
{
var si = (ShellItem)SelectedItems[0].Tag;
if (si.IsFileSystem) {
sFilePath = si.Path;
if (si.IsFolder) {
//フォルダ
}
else {
if (si.IsLink) {
//ショートカットファイル
}
else {
//普通のファイル
}
}
}
else {
//フォルダ・ファイル以外
}
}
base.OnSelectedIndexChanged(e);
}
フォームのほうに以下を追加すると、無事フルパスを取得できました。
private void explorerListView1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text = explorerListView1.sFilePath;
}
ただ、ExplorerTreeViewの方でフォルダを変更するとそれに追従して
ExplorerListViewもフォルダが変更されるので問題ないのですが、
その逆ではExplorerTreeViewのフォルダが変更されないので
使い勝手がいまいちでした・・・。
この辺りも対応できればいいのですが、今のレベルではさっぱりです^^;
魔界の仮面弁士さん、 PANG2さん、ありがとうございます。
DriveListBox
DirListBox
FileListBox
を使うことができました。これで(見た目寂しいですが・・)なんとかできそうです。
Windows API CodePack はネットがつながった環境でしかインストールできないのですかね?
スタンドアロンPCなのでこれは断念しました・・・。
|
|