* U K I Y A H O N P O *
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura,
che la diritta via era smarrita.
Front page
List of pages
Search
Recent changes
リンク
Help
Source
New
リンク
手動リンク
自動相互リンク
駄でべWiki:FrontPage
Referer
Search Key List
Link List
Help
整形ルール
プラグインマニュアル
浮子屋商店もよろしく。
Edit of
C#コード断片/共通/ウィンドウが画面外に表示された場合に戻す
Top
>
C#コード断片
>
共通
> ウィンドウが画面外に表示された場合に戻す
* ウィンドウが画面外に表示された場合に戻す [#feab5d5c] 終了時の画面のサイズ、位置を保存している場合、保存後にデスクトップのサイズが 変化したりすると、ウィンドウが画面外に表示されてしまったりする場合がある。 それを検知して、画面内に引き戻すコード。 #code(Csharp,nooutline){{ // ---- FormのLoadイベントなどに記述する ---- Point backLocation=this.Location; //Windowsが用意したデフォルト位置を保存 this.Location=option.MainWindowPosition;//保存した位置を戻す例 this.ClientSize=option.MainWindowSize;//保存したサイズを戻す例 //ここでClientSizeを基準にしているのは、テーマ変更等を考慮している(はず) this.WindowState=FormWindowState.Normal;//これを忘れると困る //デスクトップのワークエリアとウィンドウの矩形が重なっていなかったら位置を戻す if(System.Windows.Forms.Screen.GetWorkingArea(this).IntersectsWith(this.Bounds)==false){ this.Location=backLocation; } // ---- おまけ:位置を保存する場合、FormのCloseイベントなどに記述する ---- this.Visible=true; this.WindowState=FormWindowState.Normal;//これを忘れると困る option.MainWindowPosition=this.Location; option.MainWindowSize=this.ClientSize; }}
Do not change timestamp
* ウィンドウが画面外に表示された場合に戻す [#feab5d5c] 終了時の画面のサイズ、位置を保存している場合、保存後にデスクトップのサイズが 変化したりすると、ウィンドウが画面外に表示されてしまったりする場合がある。 それを検知して、画面内に引き戻すコード。 #code(Csharp,nooutline){{ // ---- FormのLoadイベントなどに記述する ---- Point backLocation=this.Location; //Windowsが用意したデフォルト位置を保存 this.Location=option.MainWindowPosition;//保存した位置を戻す例 this.ClientSize=option.MainWindowSize;//保存したサイズを戻す例 //ここでClientSizeを基準にしているのは、テーマ変更等を考慮している(はず) this.WindowState=FormWindowState.Normal;//これを忘れると困る //デスクトップのワークエリアとウィンドウの矩形が重なっていなかったら位置を戻す if(System.Windows.Forms.Screen.GetWorkingArea(this).IntersectsWith(this.Bounds)==false){ this.Location=backLocation; } // ---- おまけ:位置を保存する場合、FormのCloseイベントなどに記述する ---- this.Visible=true; this.WindowState=FormWindowState.Normal;//これを忘れると困る option.MainWindowPosition=this.Location; option.MainWindowSize=this.ClientSize; }}