2016-09-22 73 views
0

我想創建一個小窗口,當我按下一個按鈕並連接到主窗體(如下面的shwon)時,它會變得可見。我想用這個窗口來顯示圖像的預覽(我將有一個列表框,並根據選擇哪個條目,顯示一張圖片)我該怎麼做?我怎樣才能確定窗口將永遠被附加到主窗體(不依賴於分辨率)。我試圖用第二種形式來做,但我無法將其修復到正確的位置。VB.NET創建一個附加窗體預覽窗口

Example 問候

回答

1

假設你的預覽形式類是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 
+0

這工作完全地很好,我只是做了從「mPreviewForm =新frmPreview」小變化「mPreviewForm = frmPreview」,以避免多個預覽窗口可以產生超過對方(所以只有一個可以活動一次)。順便說一句,我猜兩種形式之間的差距是預先定義的。是否有一種方法可以對它進行調整,因此實際上它們之間的間距是0像素? – Alex

+0

只需要改變'Location = New Point(parent.Left + parent.Width - delta,parent.Top)'這一行並將'delta'更改爲任何你想要的... – Olaf

+0

哦,對不起,我還沒有看到,謝謝指出出 – Alex