-
Notifications
You must be signed in to change notification settings - Fork 0
/
Form1.vb
56 lines (46 loc) · 1.88 KB
/
Form1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Windows.Forms
Namespace FilesPreviewGenerator
Partial Public Class Form1
Inherits Form
Private files As List(Of FileInfo)
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
InitData()
gridControl1.DataSource = files
InitViewSettings()
AddHandler winExplorerView1.GetThumbnailImage, AddressOf WinExplorerView_GetThumbnailImage
End Sub
Private Sub InitData()
files = New List(Of FileInfo)()
Dim fileNames() As String = Directory.GetFiles("Documents\")
For Each item As String In fileNames
files.Add(New FileInfo(item, Path.GetFileName(item), Path.GetExtension(item)))
Next item
End Sub
Private Sub InitViewSettings()
winExplorerView1.OptionsImageLoad.CacheThumbnails = True
winExplorerView1.OptionsImageLoad.LoadThumbnailImagesFromDataSource = False
winExplorerView1.OptionsImageLoad.AsyncLoad = True
winExplorerView1.OptionsView.Style = DevExpress.XtraGrid.Views.WinExplorer.WinExplorerViewStyle.ExtraLarge
End Sub
Private Sub WinExplorerView_GetThumbnailImage(ByVal sender As Object, ByVal e As DevExpress.Utils.ThumbnailImageEventArgs)
Dim filePath As String = files(e.DataSourceIndex).Path
Dim documentFormat As String = files(e.DataSourceIndex).DocumentFormat
Select Case documentFormat
Case ".pdf"
Dim largestEdgeLength As Integer = Math.Max(e.DesiredThumbnailSize.Width, e.DesiredThumbnailSize.Height)
e.ThumbnailImage = ImageExporterHelper.GenerateImageFromPDF(filePath, largestEdgeLength)
Case ".xlsx"
e.ThumbnailImage = ImageExporterHelper.GenerateImageFromExcel(filePath)
Case ".docx"
e.ThumbnailImage = ImageExporterHelper.GenerateImageFromWord(filePath)
End Select
End Sub
End Class
End Namespace