C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.80660 の関連記事表示

<< 0 >>
■80660  visualbasic2010フォルダ一覧表示に際して
□投稿者/ やまだ -(2016/07/31(Sun) 16:23:09)

    分類:[VB.NET/VB2005 以降] 

    VisualBasic2010 フォルダ一覧表示に際して

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click

    Dim 名前 As String = ""

    For Each node As TreeNode In FolderTreeView.Nodes(0).Nodes
    If node.Checked Then
    名前 = 名前 & node.Text & Environment.NewLine
    End If
    Next

    If 名前.count=0
    MessageBox.Show("ノード要選択", "警告")
    Else
    MessageBox.Show(名前, "選択フォルダ一覧")
    End If

    End Sub

    上記のコードを用いて、フォルダの一覧表示がされております
    フォルダを選択した場合で、出来ない場合がございますので、
    ご教授下さい

    @何も選択していなければ、ノード要選択とメッセージ表示される
    →問題ありません

    A上位フォルダを選択したら、選択フォルダ一覧とメッセージ表示
    される →問題ありません
    (上位フォルダとは、C:\TESTのTESTのみをチェックしています)

    B下位フォルダを選択しているのに、ノード要選択と
    メッセージ表示されてしまうので、選択フォルダ一覧とメッセージ表示させたい
    (下位フォルダとは、C:\TEST\TEST1のTEST1のみを
    チェックしています)

    Bについて、ご教授下さい

    宜しくお願い致します

親記事 /過去ログ137より / 関連記事表示
削除チェック/

■80663  Re[1]: visualbasic2010フォルダ一覧表示に際して
□投稿者/ Azulean -(2016/07/31(Sun) 17:30:53)
    No80660 (やまだ さん) に返信
    > For Each node As TreeNode In FolderTreeView.Nodes(0).Nodes
    
    これはツリービューの一番上のノードの 0 番目のノードにぶら下がる子ノードを順番に見ていく処理です。
    子ノードがさらに子ノード(孫ノード)を持っていたとしても、それは対象になりません。
    
    子供の子供(孫)、そのさらに子供なども対象にするためには、再帰処理などが必要です。
    
    一例として
    
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim 名前 As String = ""
    
        CheckNodes(FolderTreeView.Nodes(0).Nodes, 名前)
    
        If 名前.Count = 0 Then
            MessageBox.Show("ノード要選択", "警告")
        Else
            MessageBox.Show(名前, "選択フォルダ一覧")
        End If
    End Sub
    
    Private Sub CheckNodes(ByVal CurrentNode As TreeNodeCollection, ByRef 名前 As String)
        For Each node As TreeNode In CurrentNode
            If node.Checked Then
                名前 = 名前 & node.Text & Environment.NewLine
            End If
            CheckNodes(node.Nodes, 名前)
        Next
    End Sub
    
記事No.80660 のレス /過去ログ137より / 関連記事表示
削除チェック/

■80685  Re[2]: visualbasic2010フォルダ一覧表示に際して
□投稿者/ やまだ -(2016/08/02(Tue) 22:47:09)
    Azulean様

    回答頂きありがとうございました

    大変助かりました

    また、質問させて頂く時があると思います

    よろしくお願いいたします
記事No.80660 のレス / END /過去ログ137より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -