1. Browse...를 눌러 파일 선택
2. 파일명을 클릭하면 미리보기 생성
3. 확인을 누르면 슬라이드쇼 재생
4. 취소를 누르면 폼 닫힘
남은 것
1. 프로그램을 재실행하거나 컴퓨터를 재부팅해도 파일을 선택한 정보가 남는 것.
2. 슬라이드쇼 창만 풀스크린으로 확대할 것.
3. 이미지 변환 시 페이드 인/아웃 기능 -> 맨 마지막에. 어려움.
Imports System.IO
Public Class form1
Private Arrfiles As String()
Private Sub btnBrowse_Click(sender As Object, e As EventArgs) Handles btnBrowse.Click
Arrfiles = Nothing
With OpenFileDialog1
.Filter = "Image Files|*.png;*.jpg;*.bmp;*.gif;*.jpeg"
.ShowDialog()
Try
File.OpenRead(.FileNames(0))
Arrfiles = .FileNames
For Each strFilename As String In Arrfiles
ListView1.Items.Add(strFilename)
Next
ListView1.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.ColumnContent)
Catch ex As Exception
Exit Sub
End Try
End With
End Sub
Private i As Integer
Private j As Integer
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
Dim intInterval As Integer = 20
If Arrfiles Is Nothing Then Return
If j Mod intInterval = 0 Then
If i = Arrfiles.Count Then
i = 0
j = 0
Return
End If
pbPreview.Image = Image.FromFile(Arrfiles(i))
i += 1
End If
j += 1
End Sub
Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval = 100
tbSlide.Alignment = TabAlignment.Bottom
End Sub
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs)
If Not IsNumeric(e.KeyChar) AndAlso Not e.KeyChar = ControlChars.Back Then e.Handled = True
End Sub
Private Sub btnCancle_Click(sender As Object, e As EventArgs) Handles btnCancle.Click
Me.Close()
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
Timer1.Start()
End Sub
Public Function ThumbnailCallback() As Boolean
'썸네일 이미지에 사용되는 함수
Return False
End Function
Private Sub lvView_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
'리스트뷰에서 리스트 선택 시 썸네일 보여주기
Dim strFilename As String
Dim imgTemp As Image
Dim myCallback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
If ListView1.SelectedItems.Count = 1 Then '리스트뷰에서 하나만 클릭했을 때 실행
strFilename = ListView1.FocusedItem.Text
imgTemp = Image.FromFile(strFilename)
pbPreview.Image = imgTemp.GetThumbnailImage(pbPreview.Width, pbPreview.Height, myCallback, IntPtr.Zero)
Else '하나도 선택 안 하거나 두개 이상 선택하면 미리보기 없음
pbPreview.Image = Nothing
End If
End Sub
End Class
'VB(A)' 카테고리의 다른 글
리스트박스 선택 -> 셀에 출력 (0) | 2016.09.29 |
---|---|
[VB.net] 화면보호기 v1.5(슬라이드쇼 + 시간) (0) | 2016.07.17 |
[VB.net] 화면보호기 v1 (0) | 2016.07.15 |
[VB.net] 폼에 드래그 하여 파일 주소 얻기 (0) | 2016.07.14 |
[VB.net] 리스트뷰에서 제목열 클릭 시 오름/내림차순 정렬 (0) | 2016.07.13 |