75 lines
2.1 KiB
C#
75 lines
2.1 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 = this.MinimumSize.Width;
|
|
var minH = this.MinimumSize.Height;
|
|
if (minW < 10) minW = 10;
|
|
if (minH < 10) minH = 10;
|
|
//var minW = Math.Max(480, this.MinimumSize.Width);
|
|
//var minH = Math.Max(640, this.MinimumSize.Height);
|
|
|
|
if (Width < minW || Height < minH)
|
|
{
|
|
this.Size = new Size(minW, minH);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|