簡體   English   中英

設置所有打開表格的位置

[英]set the location of all open forms

此代碼使我每次拖動地圖時都可以設置form的位置。

Private Sub map_OnMapDrag() Handles map.OnMapDrag
    If f2c1.Visible Then
        f2c1.Location = camera1.LocalPosition + New Point(20, -240)
    End If
    If f2c2.Visible Then
        f2c2.Location = camera2.LocalPosition + New Point(20, -240)
    End If
    If f2c3.Visible Then
        f2c3.Location = camera3.LocalPosition + New Point(20, -240)
    End If
End Sub

但是,我希望在公共子上使用它。

和這段代碼,我認為它可以獲得所有 可見的 forms ..

Dim forms = Application.OpenForms.OfType(Of frmCamera)()
    While forms.Count > 0
        forms(forms.Count - 1).Visible = True
    End While

我怎樣才能做到這一點,以便每次拖動它時所有可見的表單都可以得到它們的位置,因此即使我動態添加了另一form也不會出現問題。 那是我的目標。

你們能幫我解決這個問題嗎?

Dim forms = Application.OpenForms.OfType(Of frmCamera)()
    While forms.Count > 0
        forms(forms.Count - 1).Visible = True
    End While
    forms.Location = 'location that I want

嘗試這個:

Dim forms As Collections.Generic.IEnumerable(Of frmMain) = Application.OpenForms.OfType(Of frmMain).Where(Function(frm) frm.Visible)

For Each f As Form In forms
    f.Location = New Point(0, 0) ' set coordinate as needed
Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM