VB.net - Флешплеер
на основе интернет эксплорер
![](/vb_all/fl-waw.png)
В этом уроке мы создадим флешплеер, и будем мы его делать на основе ИЭ.
Для этого нам понадобятся следующие элементы:
• WebBrowser - основа браузера ИЭ
• OpenFileDialog - диалог открытия файла
• FolderBrowserDialog - диалог выбора папки
• ListBox - список
• кнопки, ярлыки
![](/vb_all/fl-obg.png)
WebBrowser - это основа браузера ИЭ, так что с помощью него можно открывать различные типы файлов, такие как текст, картинки, анимации, флешфайлы и некоторые мультимедийные файлы.
Для начала, откроем любую страницу в инете. Но не забываем, что это ИЭ. Для теста я рекомендую использовать простой сайт, типа ya.ru.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
WebBrowser1.Navigate("www.ya.ru") 'Переход на сайт www.ya.ru
End Sub
![](/vb_all/fl-sait.png)
В место определенного текста, мы можем использовать текстовое поле, как ввод адреса. Но наша задача сделать ФП, а не супер браузер.
Для проверки открытия файлов SWF, помещаем в корень программы (для теста - это C:\...\Visual Studio 2012\Projects\flesh\bin\Debug)
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'Открытие файла game1.swf в папке Debug
WebBrowser1.Navigate(System.IO.Directory.GetCurrentDirectory & "\game1.swf")
End Sub
System.IO.Directory.GetCurrentDirectory - путь к исполняемому файлу.
game1.swf - имя флешки.
![](/vb_all/fl-waw2.png)
Здорово, теперь, когда у нас получилось открыть SWF, расширим возможности нашей программы.
Во первых, мы в ручную выбираем флешку. И для этого нам понадобится OpenFileDialog - диалог открытия файла, даем ему имя OFD1.
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
' Указываем начальную папку
OFD1.InitialDirectory = "D:\testdel"
' Указываем заголовок
OFD1.Title = "Откр Флешку "
' При помощи фильтра можно отбросить ненужные типы файлов
OFD1.Filter = "GIF|*.gif| Флеш|*.swf| Все|*.*"
' Если есть список выбора типов, то можно указать какой тип будет выбран при загрузке диалога
OFD1.FilterIndex = 2
'исключение ошибки, при отмени выбора
If OFD1.ShowDialog = DialogResult.OK Then
WebBrowser1.Navigate(OFD1.FileName)
End If
End Sub
Теперь наша программа похожа на большинство флешплееров. Добавим в нее функцию, которая чаще встречается в платных ФП - просмотр всей директории с флешками. Для этого нам понадобятся:
FolderBrowserDialog -(fd1) - диалог выбора папки и
ListBox - для отображения списка файлов.
Выбираем папку с флешками:
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
'переменная - путь к папке
Dim fold
'Очищаем ЛБ
ListBox1.Items.Clear()
'Открываем диалог выбора папки
fd1.ShowDialog()
'записываем в переменную путь
fold = fd1.SelectedPath
'задаем переменную как массив строк! - содержащих все файлы типа -*.swf в папке fold (текущей)
Dim Files As String() = IO.Directory.GetFiles(fold, "*.swf", IO.SearchOption.TopDirectoryOnly)
ListBox1.Items.AddRange(Files)
End Sub
'добавляем файлы в ЛБ
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
'перемееная содержащая полное имя и путь выбранного файла, взятая как строка из ЛБ
Dim fl = ListBox1.SelectedItem.ToString()
'запускаем флеш в браузере
WebBrowser1.Navigate(fl)
'выводим имя в ярлыке и имени формы
Label1.Text = fl
Me.Text = "Флеш плеер " + fl
End Sub
Дополнительно, в ФП добавляем кнопку, для удаления выбранного файла.
Полностью код выглядит следующим образом:
Imports System
Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
WebBrowser1.Navigate("www.ya.ru") 'Переход на сайт www.ya.ru
End Sub
'Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' 'Открытие файла game1.swf в папке Debug
' WebBrowser1.Navigate(System.IO.Directory.GetCurrentDirectory & "\game1.swf")
'End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
' Указываем начальную папку
OFD1.InitialDirectory = "D:\testdel"
' Указываем заголовок
OFD1.Title = "Откр Флешку "
' При помощи фильтра можно отбросить ненужные типы файлов
OFD1.Filter = "GIF|*.gif| Флеш|*.swf| Все|*.*"
' Если есть список выбора типов, то можно указать какой тип будет выбран при загрузке диалога
OFD1.FilterIndex = 2
If OFD1.ShowDialog = DialogResult.OK Then
WebBrowser1.Navigate(OFD1.FileName)
End If
End Sub
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
'переменная - путь к папке
Dim fold
'Очищаем ЛБ
ListBox1.Items.Clear()
'Открываем диалог выбора папки
fd1.ShowDialog()
'записываем в переменную путь
fold = fd1.SelectedPath
'задаем переменную как массив строк! - содержащих все файлы типа -*.swf в папке fold (текущей)
Dim Files As String() = IO.Directory.GetFiles(fold, "*.swf", IO.SearchOption.TopDirectoryOnly)
'добавляем файлы в ЛБ
ListBox1.Items.AddRange(Files)
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
'перемееная содержащая полное имя и путь выбранного файла, взятая как строка из ЛБ
Dim fl = ListBox1.SelectedItem.ToString()
'запускаем флеш в браузере
WebBrowser1.Navigate(fl)
'выводим имя в ярлыке и имени формы
Label1.Text = fl
Me.Text = "Флеш плеер " + fl
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim fl = ListBox1.SelectedItem.ToString()
WebBrowser1.Navigate("www.ya.ru")
Label1.Text = fl
' Удаляем файл
IO.File.Delete(fl)
End Sub
End Class
Вот простейший ФП на VB.net и готов.
Видео 1 часть
Видео 2 часть
END
|