2011-10-25 96 views

回答

12

使用Load事件改變位置,最早你就會知道窗口的實際大小後應用用戶的喜好和自動縮放:

Public Class Form1 
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 
     Dim scr = Screen.FromPoint(Me.Location) 
     Me.Location = New Point(scr.WorkingArea.Right - Me.Width, scr.WorkingArea.Top) 
     MyBase.OnLoad(e) 
    End Sub 
End Class 
+0

+1感謝您的出色答案! – user774411

2

您可以使用Form.Location將位置設置爲代表窗體左上角的點。

因此,如果您將此設置爲'屏幕寬度 - 表格寬度',您可以將表格放置在右上角。 要獲得屏幕寬度,您可以使用Screen.Bounds屬性。

+0

我正在努力Screen.GetBounds函數。這個函數要求一個pt點類型參數。我應該投入什麼價值? – user774411

+0

我已添加文檔鏈接 –

0

只需添加到您的onload事件

Me.Location = New Point(1, 1) 
0

它工作正常,爲您提供:

private void Form1_Load(object sender, EventArgs e) 
     { 
      this.Location = new Point(Screen.FromPoint(this.Location).WorkingArea.Right - this.Width, 0); 
     } 
0

在形式上負荷甚至派贏dows位置爲y = 0,x =屏幕寬度 - 表格寬度。

例如

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.Location = new Point(Screen.PrimaryScreen.Bounds.Right - this.Width,0); 
} 

您也可以使用 「Screen.GetBounds(本).Right」。這會給你包含你的表單的屏幕座標。

+0

我無法對相關答案發表評論。因爲我沒有足夠的聲望。對不起。 「 」我正在努力Screen.GetBounds函數。這個函數要求一個pt點類型參數。我應該輸入什麼值?「 點參數針對不同的場景。如果您有多個屏幕,並且您想根據點座標查找要使用的相應屏幕,則會使用它。 主屏幕參數應該只是爲你輸入。 –

相關問題