Files
Groupware/SubProject/FCOMMON/fBase.cs
2024-05-08 14:53:55 +09:00

70 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.ServiceModel.Security;
using System.Text;
using System.Windows.Forms;
namespace FCOMMON
{
public partial class fBase : Form
{
public Boolean UseFormSetting { get; set; }
public fBase()
{
InitializeComponent();
this.KeyPreview = true;
UseFormSetting = true;
this.FormClosed += fBase_FormClosed;
this.KeyDown += fBase_KeyDown;
}
void fBase_KeyDown(object sender, KeyEventArgs e)
{
//if (e.KeyCode == Keys.Escape) this.Close();
}
void fBase_FormClosed(object sender, FormClosedEventArgs e)
{
if(UseFormSetting)
{
var form = this as Form;
FCOMMON.Util.SetFormStatus(ref form, this.Name, false);
}
}
private void fBase_Load(object sender, EventArgs e)
{
if(UseFormSetting)
{
var form = this as Form;
FCOMMON.Util.SetFormStatus(ref form, this.Name, true);
}
EnsureVisibleAndUsableSize();
}
protected void EnsureVisibleAndUsableSize()
{
var visibleBounds = Screen.GetWorkingArea(this);
var isOutOfView = (Left > visibleBounds.Right) || (Top > visibleBounds.Bottom) ||
(Right < visibleBounds.Left) || (Bottom < visibleBounds.Top);
if (isOutOfView)
{
CenterToScreen();
}
var minW = Math.Max(320, this.MinimumSize.Width);
var minH = Math.Max(240, this.MinimumSize.Height);
if (Width < minW || Height < minH)
{
this.Size = new Size(minW, minH);
}
}
}
}