度々失礼致します。
FileListBoxに関しましてご教授ください。
FileListBoxにおきまして、Refreshメソッドを実行した際、
それまで選択していましたファイル名がNonActiveとなってしまいます。
これを防ぐ良い方法は御座いませんでしょうか?
Refresh後にファイル選択状態にする方法です。
ご回答宜しくお願い致します。m(__)m
ListIndex?
こんな感じ
Dim vv As String
Dim c As Long
vv = File1.List(File1.ListIndex)
File1.Refresh
For c = 0 To File1.ListCount - 1
If vv = File1.List(c) Then File1.Selected(c) = True
Next c
通ってみた様
犬ひろし様
有難う御座いました。
FileListBoxのKeyDownイベントにてDeleteキー押下時に
ファイル削除機能を作成しておりました。
犬ひろし様のコードにて確認が取れましたので解決とさせて頂きます。
以下コードです。 有難う御座いました。
Private Sub File1_KeyDown(KeyCode As Integer, Shift As Integer)
On Error GoTo ERRPOINT
Dim YesNo As String
Dim c As Long
'ファイル削除機能「Deleteキー押下時」
If KeyCode = vbKeyDelete Then
YesNo = MsgBox("削除しますか?", vbYesNo + vbQuestion + vbDefaultButton2)
If YesNo = vbYes Then
If File1.FileName = "" Then
goto ERRPOINT
Else
Kill (File1.Path & "\" & File.FileName)
'リフレッシュ
File1.Refresh
'ファイル選択
For c = 0 To File1.ListCount - 1
If File1.List(c) <> "" Then File1.Selected(c) = True
Next c
End If
End If
End If
ENDPOINT:
Exit Sub
ERRPOINT:
MsgBox "ファイル削除が出来ませんでした。", vbCritical, "エラーメッセージ"
End Sub
生茶さん>解決に書いてるコードと犬ひろしさんのコード
若干意味が変わってるようですが、本当にうごきましたか?
リフレッシュする前の名前の待避及びリフレッシュ後の比較がないんだけど・・・
気のせい?
生茶さんのコードだとリフレッシュ後に先頭の項目が選択状態になると思うんです
けど・・
ぶぶ様
質問が悪かったのかもしれませんね。。
Deleteするので、ファイルがなくなってしまうのです。
私がほしい機能は、単に
>Refresh後にファイル選択状態にする方法
です。
ちなみに動いているのですが、何か不具合な箇所がありますでしょうか?f(**;
お気づきのところを教えてください。
宜しくお願いします。
ただ単に最初の項目を選択するのでよかったら
>File1.Refresh
>'ファイル選択
>For c = 0 To File1.ListCount - 1
> If File1.List(c) <> "" Then File1.Selected(c) = True
>Next c
の部分は単に
File1.Refresh
if File1.ListCount >0 then
File1.Selected(0) = True
end if
ぶぶ様
参考にさせて頂きます。
有難う御座いました。m(__)m
For c = 0 To File1.ListCount - 1
If File1.List(c) <> "" Then File1.Selected(c) = True
Next c
は、For〜Nextする意味がないので、
File1.selected(File1.ListCount-1) = True
だけで同じものが実装できると思うがどうでしょうか
通ってみた様
解決後のフォローを有難う御座います。
>File1.selected(File1.ListCount-1) = True
にて確認する事が出来ました。
私のほしい機能には
For〜Next文は不要でしたね・・・
あとは、Refresh後に先頭の項目を選択状態とするか、最後の項目を
選択状態とするかを検討し、
>if File1.ListCount >0 then
> File1.Selected(0) = True
>end if
または
>File1.selected(File1.ListCount-1) = True
どちらかの方法で実装しようと思います。
有難う御座いました。
ツイート | ![]() |