web-dev-qa-db-ja.com

C#Windows Formsの特定の場所に開始フォームを配置する方法は?

フォームのLocationプロパティは0,0(プロパティウィンドウ)に設定されます。ただし、フォームは指定された場所で開きません。何か不足していますか?

20
rodsarria

フォームの開始位置をStartPositionプロパティの値に設定するには、Locationをmanualに設定する必要があります。

public Form1()
{
    InitializeComponent();
    this.StartPosition = FormStartPosition.Manual;
    this.Location = new Point(0, 0);
}

FormStartPosition.ManualのIntelisenseの概要

FormStartPosition FormStartPosition.Manual

フォームの位置はSystem.Windows.Forms.Control.Locationプロパティによって決定されます

36
user2509901

デフォルトでは、開始位置はWindowsDefaultLocationに設定されます。これにより、フォームは設定している場所を無視します。設定した場所を簡単に適用するには、StartPositionをManualに変更します。

StartPosition Property Picture

6
nitewulf50

試してください:

this.Location = new Point(Screen.PrimaryScreen.Bounds.X, //should be (0,0)
                          Screen.PrimaryScreen.Bounds.Y);
this.TopMost = true;
this.StartPosition = FormStartPosition.Manual;
3
Habib

Location を0,0に設定しても、 StartPositionFormStartPosition.Manual に設定することを忘れても効果はありません。

このプロパティを使用すると、実行時に表示されるフォームの開始位置を設定できます。フォームの位置は、Locationプロパティを設定して手動で指定するか、Windowsで指定されたデフォルトの位置を使用できます。また、フォームを画面の中央に表示したり、複数ドキュメントインターフェイス(MDI)子フォームなどのフォームの親フォームの中央に表示したりすることもできます。

2
Steve