デュアルディスプレイのセカンドモニターにPDF、動画、画像を表示。
@@ -21,7 +21,9 @@ | ||
21 | 21 | Private _secondMonitorWindows As New List(Of Form) |
22 | 22 | |
23 | 23 | Private Sub registViewer(frm As Form) |
24 | - _secondMonitorWindows.Add(frm) | |
24 | + If Not _secondMonitorWindows.Contains(frm) Then | |
25 | + _secondMonitorWindows.Add(frm) | |
26 | + End If | |
25 | 27 | SetViewerBounds(frm) |
26 | 28 | End Sub |
27 | 29 |
@@ -35,23 +37,15 @@ | ||
35 | 37 | |
36 | 38 | Private _frmOperation As frmOperation |
37 | 39 | Public Sub ShowOperation() |
38 | - If _frmOperation Is Nothing Then | |
39 | - _frmOperation = New frmOperation | |
40 | - End If | |
40 | + Create(_frmOperation, GetType(frmOperation)) | |
41 | 41 | _frmOperation.Show() |
42 | 42 | End Sub |
43 | 43 | Public Function GetAxPDF() As AxAcroPDFLib.AxAcroPDF |
44 | - | |
45 | 44 | Return _frmPdfViewer.AxAcroPDF1 |
46 | - | |
47 | 45 | End Function |
48 | 46 | |
49 | 47 | Public Sub ShowImage() |
50 | - If _frmImageViewer Is Nothing Then | |
51 | - _frmImageViewer = New frmImageViewer | |
52 | - registViewer(_frmImageViewer) | |
53 | - End If | |
54 | - _frmImageViewer.Show() | |
48 | + Show(_frmImageViewer, GetType(frmImageViewer)) | |
55 | 49 | End Sub |
56 | 50 | Private _frmImageViewer As frmImageViewer |
57 | 51 | Public Function GetPictureBox() As PictureBox |
@@ -65,11 +59,7 @@ | ||
65 | 59 | |
66 | 60 | Private _frmMovieViewer As frmMovieViewer |
67 | 61 | Public Sub ShowMovie() |
68 | - If _frmMovieViewer Is Nothing Then | |
69 | - _frmMovieViewer = New frmMovieViewer | |
70 | - registViewer(_frmMovieViewer) | |
71 | - End If | |
72 | - _frmMovieViewer.Show() | |
62 | + Show(_frmMovieViewer, GetType(frmMovieViewer)) | |
73 | 63 | End Sub |
74 | 64 | Public Function GetPlayer() As AxWMPLib.AxWindowsMediaPlayer |
75 | 65 | If _frmMovieViewer Is Nothing Then |
@@ -78,27 +68,43 @@ | ||
78 | 68 | Return _frmMovieViewer.AxWindowsMediaPlayer1 |
79 | 69 | End Function |
80 | 70 | |
71 | + Public Sub Create(ByRef form As Form, ByVal formType As Type) | |
72 | + If form Is Nothing Then | |
73 | + form = Activator.CreateInstance(formType) | |
74 | + End If | |
81 | 75 | |
76 | + End Sub | |
77 | + | |
78 | + Private Sub HideOther(ByVal targetForm As Form) | |
79 | + For Each frm In _secondMonitorWindows | |
80 | + If frm Is targetForm Then | |
81 | + Continue For | |
82 | + End If | |
83 | + frm.Hide() | |
84 | + Next | |
85 | + End Sub | |
86 | + | |
87 | + Public Sub Show(ByRef targetForm As Form, ByVal formType As Type) | |
88 | + Create(targetForm, formType) | |
89 | + registViewer(targetForm) | |
90 | + HideOther(targetForm) | |
91 | + targetForm.Show() | |
92 | + End Sub | |
93 | + | |
82 | 94 | Public Sub HidePdfViewer() |
83 | 95 | _frmPdfViewer.Hide() |
84 | 96 | End Sub |
85 | 97 | |
86 | 98 | Public Sub ShowPdfViewer() |
87 | - If _frmPdfViewer Is Nothing Then | |
88 | - _frmPdfViewer = New frmPdfViewer | |
89 | - registViewer(_frmPdfViewer) | |
90 | - End If | |
91 | - _frmPdfViewer.Show() | |
92 | - | |
99 | + Show(_frmPdfViewer, GetType(frmPdfViewer)) | |
93 | 100 | End Sub |
94 | 101 | |
95 | - Private _frmStartup As frmStartup | |
96 | - Public Sub SetStartup(ByVal frm As frmStartup) | |
97 | - _frmStartup = frmStartup | |
98 | - End Sub | |
102 | + 'Private _frmStartup As frmStartup | |
103 | + 'Public Sub SetStartup(ByVal frm As frmStartup) | |
104 | + ' _frmStartup = frmStartup | |
105 | + 'End Sub | |
99 | 106 | Public Sub Close() |
100 | - _frmPdfViewer.Close() | |
101 | - _frmStartup.Close() | |
107 | + '特に処理なし | |
102 | 108 | End Sub |
103 | 109 | |
104 | 110 | Public Sub frmPdfViewHideNavi() |
@@ -32,7 +32,7 @@ | ||
32 | 32 | |
33 | 33 | <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ |
34 | 34 | Protected Overrides Sub OnCreateMainForm() |
35 | - Me.MainForm = Global.pdfsecondmonitor.frmStartup | |
35 | + Me.MainForm = Global.pdfsecondmonitor.frmOperation | |
36 | 36 | End Sub |
37 | 37 | End Class |
38 | 38 | End Namespace |
@@ -172,6 +172,7 @@ | ||
172 | 172 | ElseIf IsImageExt(ext) Then |
173 | 173 | tbcFileOpes.SelectTab(tpImage.TabIndex) |
174 | 174 | CtlImage1.SetFileInfo(fileviewinfo) |
175 | + _dispacher.ShowImage() | |
175 | 176 | ElseIf IsMovieExt(ext) Then |
176 | 177 | tbcFileOpes.SelectTab(tpMediaPlayer.TabIndex) |
177 | 178 | CtlMovie1.SetFileInfo(fileviewinfo) |