PDA

Показать полную графическую версию : Visual Basic. Кнопка обзора и вывод содержимого папки


travian
28-03-2011, 16:19
Здравствуйте!
Помогите пожалуйста. Собственно, что нужно:
1. Кнопка "Обзор" для возможности выбора папки, либо множества файлов (а именно картинок).
2. ListBox (или что-то вроде), в котором будут выводиться имена файлов (картинок) содержащихся в выбранной папке.
3. Окошко к котором будет отображаться картинка выбранная в ListBox-е (Отображение картинки получилось реализовать с помощью "WebBrowser", нужно только понять как передавать в неё значение из листбокса).

Как это реализовать? Хотябы что-нибудь из этого?

LilLoco
28-03-2011, 17:23
нужно только понять как передавать в неё значение из листбокса »
На событие Клика листбокса передавать выделенный элемент в Webbrowser!

Кнопка "Обзор" для возможности выбора папки, либо множества файлов (а именно картинок). »
Что именно тут непонятно?

travian
28-03-2011, 23:14
На событие Клика листбокса передавать выделенный элемент в Webbrowser! »
Как?
Что именно тут непонятно? »
Почти всё.
Нашёл как сделать для одного файла:
Private Sub browseButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles browseButton.Click
Using ofd As New OpenFileDialog
ofd.Filter = "All files (*.*)|*.*"
ofd.Title = "Select File"

If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
MessageBox.Show("You selected " & ofd.FileName)
End If
End Using
End Sub
Как сделать для целой папки?
Я просто пока мягко говоря новичок в этом плане.

LilLoco
29-03-2011, 07:49
Как? »
Добавляем на форму ListBox, Дабл клик на событии Click. В обработчике этого события присваиваете использованному свойству вашего WebBrowser выделенный элемент ListBox.

Так понятнее?
Я просто пока мягко говоря новичок в этом плане. »
Почитайте для начала книги, теория важная вещь!

Нашёл как сделать для одного файла: »
Выбор нескольких файлов (http://msdn.microsoft.com/ru-ru/library/system.windows.forms.openfiledialog.multiselect.aspx)
Как сделать для целой папки? »
Использовать FolderBrowserDialog

Если Вы хотите делать все через одно диалоговое окно
Посмотрите тут (http://forum.oszone.net/thread-184275.html), есть несколько вариантов(но правда на C#)!

travian
29-03-2011, 15:13
LilLoco
Уже понятнее.
Получилось добиться, чтобы при открытии файла кнопкой Browse, в ListBox добавлялось его имя. Но значения у этой строки нет никакого. Т.е. кликаем на пункт в ListBox-е, он выделяется, но ничего не происходит. Как добавлять значение строке?
Понял что делается это вроде бы через ListBox1_KeyPress. Но как мне из одного элемента (кнопки) передать значение пути и имени файла в этот самый ListBox1_KeyPress?
Кстати, и как сделать чтобы в ListBox-е отображалось только имя файла, а не весь путь к нему?

lxa85
29-03-2011, 15:37
travian,как сделать чтобы в ListBox-е отображалось только имя файла, а не весь путь к нему? »
GetShortPathName (http://www.google.com/search?hl=ru&q=getshortpathname) первые 5 ссылок должны дать исчерпывающий ответ. Кроме того, можно поинтересоваться об этой функции в справочной системе.

На здоровье. :)

Но как мне из одного элемента (кнопки) передать значение пути и имени файла в этот самый ListBox1_KeyPress? »
Через обработчик нажатия keyPress
написать что-то типа или как-то так.
ListBox1.Text = FolderBrowserDialog1.FolderName
Visual Basic под руками нет, т.ч. за точность фразы не ручаюсь, но в целом так.

travian
29-03-2011, 18:54
GetShortPathName первые 5 ссылок должны дать исчерпывающий ответ. »
Если честно то они мне не дали почти никакого ответа, но всё же с укорачиванием имени я разобрался.
Через обработчик нажатия keyPress
написать что-то типа или как-то так.
ListBox1.Text = FolderBrowserDialog1.FolderName »
А вот тут вот не понял. Куда это нужно прописать именно?
Я не знаю точно, но добавляю новые пункты в ListBox вот такой строчкой: ListBox1.Items.Add(strFileName)
И почему-то мне думается, что где-то в этой же строке и нужно дописывать значение этого strFileName. Нет?

Мне вот нужно сделать поле и кнопку. В поле я ввожу новое имя файла, нажимаю на кнопку для переименовывания.
Делаю это так: My.Computer.FileSystem.RenameFile("C:\Test.txt", "" & TextBox1.Text)
Как заменить "C:\Test.txt" на файл выбранный в ListBox-е? Хоть убейте не понимаю...




© OSzone.net 2001-2012