Page 1 of 1
VB.NET - help
Posted: Thu Dec 30, 2004 4:39 pm
by semika
Εχω το εξής πρόβλημα:
Σε μία φόρμα έχω δύο TreeViews.
Όταν επιλέγω ένα στοιχείο από το ένα και πάω στο δεύτερο ΤreeView, μου "ξε-επιλέγεται" το πρώτο.
Ενώ σε μία μεταβλητή φυλάω την τιμή και των δύο, θα ήθελα να φαίνονται στην οθόνη ποιό στοιχείο από το καθένα έχει επιλεγεί.
Εχει κανείς καμμιά ιδέα??
----
Και μια τελευταία απορία! Υπάρχει τρόπος ο χρήστης μιας διεπαφής να επιλέγει ένα folder από το δίσκο? Γιατί για αρχείο έχουμε το OpenFileDialog.
Ευχαριστώ πάρα πολύ!

Posted: Thu Dec 30, 2004 5:01 pm
by Einherjar
για το πρώτο μπορείς αφού μεταφερθείς στο 2ο treeview να θέσεις την επιλεγμένη τιμή του 1ου βάσει της μεταβλητής που έχεις κρατήσει. δεν ξέρω αν θα πετύχει, απλά προτείνω
Posted: Thu Dec 30, 2004 6:37 pm
by semika
Να! Το προσπάθησα αλλά μπα! Καμία άλλη ιδέα?
Ευχαριστώ πάντως

Posted: Sun Jan 02, 2005 9:06 pm
by Dimitris
Και μια τελευταία απορία! Υπάρχει τρόπος ο χρήστης μιας διεπαφής να επιλέγει ένα folder από το δίσκο? Γιατί για αρχείο έχουμε το OpenFileDialog
Υπάρχει ένα αντικείμενο μέσα στο system.io, το Directory το οποίο σου παρέχει διάφορες μεθόδους για να προσπελάσεις φακέλους. Έτσι, μπορείς να χρησιμοποιήσεις τον εξής κώδικα
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim dir As System.IO.Directory
Dim drive_name As String()
Dim folders As String()
drive_name = dir.GetLogicalDrives()
Dim i As Integer
Dim j As Integer
For i = 0 To drive_name.Length - 1
folders = dir.GetDirectories(drive_name(i))
For j = 0 To folders.Length - 1
check.Items.Add(folders(j), False) 'το check είναι ένα
'checkListBox
Next
Next
Catch exc As Exception
MsgBox(exc.ToString)
End Try
End Sub
Στο συγκεκριμένο παράδειγμα σου εμφανίζει όλους τους φακέλους σε ένα checklistbox.Γενικά μπορείς να παίξεις με τις συναρτήσεις που σου παρέχει το Directory και να κάνεις τη δουλειά σου.Ελπίζω να βοήθησα....
Posted: Mon Jan 03, 2005 12:32 pm
by semika
Ευχαριστώ πολύ Δημήτρη (Και καλή χρονιά αφού δεν τα είπαμε)
Αυτό το έχω κάνει (κουτσά - στραβά) με μια άλλη ευρεσιτεχνία (!!!!!)
To παραθέτω μήπως το χρειαστεί και κανείς άλλος:
Code: Select all
Dim oFS As New DirectoryInfo(oParent.FullPath & "\")
Dim oDir As DirectoryInfo
Try
For Each oDir In oFS.GetDirectories()
Dim oNode As New TreeNode
oNode.Text = oDir.Name
oNode.ImageIndex = 0
oNode.SelectedImageIndex = 0
oParent.Nodes.Add(oNode)
oNode.Nodes.Add("")
Next
Catch exIO As IOException
MsgBox("Please insert disk in " & oParent.FullPath & " and try again")
Exit Sub
Catch ex As Exception
MsgBox("Unable to enumerate subfolders of " & oParent.FullPath & " -> " & ex.ToString)
Exit Sub
End Try
Βάζει τους φακέλους σε TreeView
και το "oParent As TreeNode" δίνεται ως όρισμα.
Thanx!
Re: VB.NET - help
Posted: Mon Jan 03, 2005 1:28 pm
by mikem4600
semika wrote:Υπάρχει τρόπος ο χρήστης μιας διεπαφής να επιλέγει ένα folder από το δίσκο? Γιατί για αρχείο έχουμε το OpenFileDialog.
VB.NET δεν χρησιμοποιείς; Δοκίμασες το FolderBrowserDialog;
semika wrote:Εχω το εξής πρόβλημα:
Σε μία φόρμα έχω δύο TreeViews.
Όταν επιλέγω ένα στοιχείο από το ένα και πάω στο δεύτερο ΤreeView, μου "ξε-επιλέγεται" το πρώτο.
Ενώ σε μία μεταβλητή φυλάω την τιμή και των δύο, θα ήθελα να φαίνονται στην οθόνη ποιό στοιχείο από το καθένα έχει επιλεγεί.
Εχει κανείς καμμιά ιδέα??
Νομίζω αυτό ελέγχεται από κάποια property. Δοκίμασε π.χ. να κάνεις την HideSelection false.
Re: VB.NET - help
Posted: Mon Jan 03, 2005 3:02 pm
by semika
mikem4600 wrote:VB.NET δεν χρησιμοποιείς; Δοκίμασες το FolderBrowserDialog;
Δεν είχα παρατηρήσει οτι υπάρχει. Ευχαριστώ. Ευτυχώς το έκανα με treeViews και είναι οκ.
mikem4600 wrote:Νομίζω αυτό ελέγχεται από κάποια property. Δοκίμασε π.χ. να κάνεις την HideSelection false.
Ευχαριστώ πολύ! Αυτό ήταν!

:smt058