一、實現效果
①窗體居於屏幕中間
②子窗體居於父窗體中間
二、核心代碼
/***
* Title:"三維可視化" 項目
* 主題:【視圖層】窗體基礎操作
* Description:
* 功能:
* 1、實現窗體基於屏幕居中
* 2、實現窗體居於父窗體中間
* Date:2020
* Version:1.0版本
* Author:Coffee
* Modify Recoder:
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace View
{
class FormBaseOPC
{
/// <summary>
/// 1-窗體屏幕居中
/// </summary>
/// <param name="form">需要居中的窗體</param>
public static void SetScreenMiddle2(Form form)
{
if (form!=null)
{
//獲取屏幕設置居中效果
form.SetBounds((Screen.GetBounds(form).Width / 2) - (form.Width / 2),
(Screen.GetBounds(form).Height / 2) - (form.Height / 2),
form.Width, form.Height, BoundsSpecified.Location);
}
}
/// <summary>
/// 1-窗體屏幕居中(系統自帶)
/// </summary>
/// <param name="form">需要居中的窗體</param>
public static void SetScreenMiddle(Form form)
{
if (form!=null)
{
form.StartPosition = FormStartPosition.CenterScreen;
}
}
/// <summary>
/// 2-設置相對於窗體居中且打開
/// </summary>
/// <param name="form">需要居中的窗體</param>
public static void SetFormMiddle(Form form)
{
if (form!=null)
{
//設置窗體相對於父窗體居中
form.StartPosition = FormStartPosition.CenterParent;
//顯示窗體
form.ShowDialog();
//設置焦點爲當前窗體
form.Focus();
}
}
}//Class_end
}
三、使用方法
①首先使用命名空間
using View;
②使用示例:實現窗體居於屏幕中間
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//設置窗體屏幕居中
FormBaseOPC.SetScreenMiddle(this);
}
}
③使用示例:實現子窗體居於父窗體中間
//設置相對於父窗體居中且打開(這個方法用在父窗體中)
FormBaseOPC.SetFormMiddle(子窗體的名稱);
//比如我要在當前父窗體的按鈕下面實現點擊按鈕打開子窗體【子窗體名爲:form_IPSettings】(且該子窗體居於該父窗體的中間)則在該按鈕方法內容添加如下方法即可
FormBaseOPC.SetFormMiddle(form_IPSettings);