次の方法で共有


Form.SetDesktopLocation メソッド

フォームの位置をデスクトップ座標で設定します。

Public Sub SetDesktopLocation( _
   ByVal x As Integer, _   ByVal y As Integer _)
[C#]
public void SetDesktopLocation(intx,inty);
[C++]
public: void SetDesktopLocation(intx,inty);
[JScript]
public function SetDesktopLocation(
   x : int,y : int);

パラメータ

  • x
    フォームの位置の x 座標。
  • y
    フォームの位置の y 座標。

解説

デスクトップ座標は、タスクバーを除外した画面の作業領域に基づきます。このメソッドを使用すると、デスクトップ上のフォームの位置を設定できます。デスクトップ座標はフォームの作業領域に基づいているため、このメソッドを使用すると、フォームをデスクトップ上に確実に表示できます。このメソッドは主にトップレベル フォームに対して使用されます。マルチ ドキュメント インターフェイス (MDI) 子フォームを配置する場合は、 LayoutMdi メソッドを使用してください。

使用例

[Visual Basic, C#] SetDesktopLocation メンバ、 Load メンバ、 Closed メンバ、および Activate メンバの使用方法を示すコード例に示します。この例を実行するには、次のコードを、Form1 という名前のフォームに貼り付けます。このフォームには、Button1 という名前のボタンおよび Label1 と Label2 という名前の 2 つのラベルが配置されています。必ずすべてのイベントをイベント処理メソッドに関連付けるようにしてください。

 
Shared x As Integer = 200
Shared y As Integer = 200

Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    ' Create a new Form1 and set its Visible property to true.
    Dim form2 As New Form1
    form2.Visible = True

    ' Set the new form's desktop location so it appears below and 
    ' to the right of the current form.
    form2.SetDesktopLocation(x, y)
    x += 30
    y += 30

    ' Keep the current form active by calling the Activate method.
    Me.Activate()
    Me.Button1.Enabled = False
End Sub



' Updates the label text to reflect the current values of x and y, 
' which was were incremented in the Button1 control's click event.
Private Sub Form1_Activated(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles MyBase.Activated
    Label1.Text = "x: " & x & " y: " & y
    Label2.Text = "Number of forms currently open: " & count
End Sub

Shared count As Integer = 0

Private Sub Form1_Closed(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles MyBase.Closed
    count -= 1
End Sub

Private Sub Form1_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
    count += 1
End Sub

[C#] 
static int x = 200;
static int y = 200;

private void Button1_Click(System.Object sender, 
    System.EventArgs e)
{
    // Create a new Form1 and set its Visible property to true.
    Form1 form2 = new Form1();
    form2.Visible = true;

    // Set the new form's desktop location so it  
    // appears below and to the right of the current form.
    form2.SetDesktopLocation(x, y);
    x += 30;
    y += 30;

    // Keep the current form active by calling the Activate
    // method.
    this.Activate();
    this.Button1.Enabled = false;
}



// Updates the label text to reflect the current values of x 
// and y, which was were incremented in the Button1 control's 
// click event.
private void Form1_Activated(object sender, System.EventArgs e)
{
    Label1.Text = "x: "+x+" y: "+y;
    Label2.Text = "Number of forms currently open: "+count;
}

static int count = 0;

private void Form1_Closed(object sender, System.EventArgs e)
{
    count -= 1;
}

private void Form1_Load(object sender, System.EventArgs e)
{
    count += 1;
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Form クラス | Form メンバ | System.Windows.Forms 名前空間 | SetDesktopBounds | LayoutMdi