0
我想創建一個小窗口,當我按下一個按鈕並連接到主窗體(如下面的shwon)時,它會變得可見。我想用這個窗口來顯示圖像的預覽(我將有一個列表框,並根據選擇哪個條目,顯示一張圖片)我該怎麼做?我怎樣才能確定窗口將永遠被附加到主窗體(不依賴於分辨率)。我試圖用第二種形式來做,但我無法將其修復到正確的位置。VB.NET創建一個附加窗體預覽窗口
問候
我想創建一個小窗口,當我按下一個按鈕並連接到主窗體(如下面的shwon)時,它會變得可見。我想用這個窗口來顯示圖像的預覽(我將有一個列表框,並根據選擇哪個條目,顯示一張圖片)我該怎麼做?我怎樣才能確定窗口將永遠被附加到主窗體(不依賴於分辨率)。我試圖用第二種形式來做,但我無法將其修復到正確的位置。VB.NET創建一個附加窗體預覽窗口
問候
假設你的預覽形式類是frmPreview
並打開這樣說:
Private mPreviewForm As frmPreview Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click mPreviewForm = New frmPreview mPreviewForm.Show() AttachPreviewForm() End Sub
然後,你必須在每次的主要形式是改變大小或位置的時間重新定位:
Private Sub AttachPreviewForm()
If mPreviewForm IsNot Nothing Then
mPreviewForm.AttachForm(Me)
End If
End Sub
Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
AttachPreviewForm()
End Sub
Private Sub Form1_LocationChanged(sender As Object, e As EventArgs) Handles Me.LocationChanged
AttachPreviewForm()
End Sub
而在frmPreview
:
Public Sub AttachForm(parent As Form)
Location = New Point(parent.Left + parent.Width, parent.Top)
Size = New Size(200, parent.Height)
End Sub
這工作完全地很好,我只是做了從「mPreviewForm =新frmPreview」小變化「mPreviewForm = frmPreview」,以避免多個預覽窗口可以產生超過對方(所以只有一個可以活動一次)。順便說一句,我猜兩種形式之間的差距是預先定義的。是否有一種方法可以對它進行調整,因此實際上它們之間的間距是0像素? – Alex
只需要改變'Location = New Point(parent.Left + parent.Width - delta,parent.Top)'這一行並將'delta'更改爲任何你想要的... – Olaf
哦,對不起,我還沒有看到,謝謝指出出 – Alex