项目初始化后续改动
This commit is contained in:
1 parent
40c702883c
commit
42acf1b1cb
67 files changed
+5794
-1762
No files matched your search
@@ -0,0 +1,295 @@
|
||||
using AllBase;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Work.BaseForms
|
||||
{
|
||||
public partial class BaseGeneralForm : Form
|
||||
{
|
||||
const int WM_NCHITTEST = 0x0084;
|
||||
const int HTLEFT = 10; //左边界
|
||||
const int HTRIGHT = 11; //右边界
|
||||
const int HTTOP = 12; //上边界
|
||||
const int HTTOPLEFT = 13; //左上角
|
||||
const int HTTOPRIGHT = 14; //右上角
|
||||
const int HTBOTTOM = 15; //下边界
|
||||
const int HTBOTTOMLEFT = 0x10; //左下角
|
||||
const int HTBOTTOMRIGHT = 17; //右下角
|
||||
|
||||
protected bool Minimized { get { return this.pbMinBase.Visible; } set { this.pbMinBase.Visible = value; } }
|
||||
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
switch (m.Msg)
|
||||
{
|
||||
case WM_NCHITTEST:
|
||||
base.WndProc(ref m);
|
||||
Point vPoint = new Point((int)m.LParam & 0xFFFF,
|
||||
(int)m.LParam >> 16 & 0xFFFF);
|
||||
vPoint = PointToClient(vPoint);
|
||||
if (vPoint.X <= 5)
|
||||
if (vPoint.Y <= 5)
|
||||
m.Result = (IntPtr)HTTOPLEFT;
|
||||
else if (vPoint.Y >= ClientSize.Height - 5)
|
||||
m.Result = (IntPtr)HTBOTTOMLEFT;
|
||||
else m.Result = (IntPtr)HTLEFT;
|
||||
else if (vPoint.X >= ClientSize.Width - 5)
|
||||
if (vPoint.Y <= 5)
|
||||
m.Result = (IntPtr)HTTOPRIGHT;
|
||||
else if (vPoint.Y >= ClientSize.Height - 5)
|
||||
m.Result = (IntPtr)HTBOTTOMRIGHT;
|
||||
else m.Result = (IntPtr)HTRIGHT;
|
||||
else if (vPoint.Y <= 5)
|
||||
m.Result = (IntPtr)HTTOP;
|
||||
else if (vPoint.Y >= ClientSize.Height - 5)
|
||||
m.Result = (IntPtr)HTBOTTOM;
|
||||
break;
|
||||
default:
|
||||
base.WndProc(ref m);
|
||||
break;
|
||||
}
|
||||
}
|
||||
public BaseGeneralForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
|
||||
if (FileBase.Exists(BaseClass.ProgromLogoIco))
|
||||
{
|
||||
Image img = Image.FromFile(BaseClass.ProgromLogoIco);
|
||||
pictureBox3.Image = img;
|
||||
}
|
||||
}
|
||||
|
||||
private void LcBaseForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (BaseClass.Ico != null)
|
||||
Iconx = Icon = BaseClass.Ico;
|
||||
else
|
||||
Iconx = Icon = BaseClass.Ico = ImageBuild.ConvertToIcon(Properties.Resources.icon);
|
||||
|
||||
|
||||
if (this.IsShowMax)
|
||||
{
|
||||
if (this.WindowState == FormWindowState.Maximized)
|
||||
{
|
||||
this.pbMaxBase.Visible = false;
|
||||
this.pbNormalBase.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbMaxBase.Visible = true;
|
||||
this.pbNormalBase.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
SetPanelVisible(this.TopLevel || DesignMode);
|
||||
}
|
||||
|
||||
public void SetPanelVisible(bool visible)
|
||||
{
|
||||
if (visible)
|
||||
{
|
||||
this.Padding = new Padding(1);
|
||||
this.pnlTitle.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Padding = new Padding(0);
|
||||
this.pnlTitle.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void PictureBox2_Click(object sender, EventArgs e)
|
||||
{
|
||||
WindowState = FormWindowState.Minimized;
|
||||
}
|
||||
|
||||
public virtual void PictureBox1_Click(object sender, EventArgs e)
|
||||
{
|
||||
//pictureBox3.Image?.Dispose();
|
||||
Close();
|
||||
}
|
||||
|
||||
private Icon _iconx;
|
||||
public Icon Iconx
|
||||
{
|
||||
set
|
||||
{
|
||||
_iconx = value;
|
||||
if (_iconx == null) return;
|
||||
|
||||
using (MemoryStream mStream = new MemoryStream())
|
||||
{
|
||||
_iconx.Save(mStream);
|
||||
Image image = Image.FromStream(mStream);
|
||||
pictureBox3.Image = image;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool isShowMax = false;
|
||||
public bool IsShowMax
|
||||
{
|
||||
get { return isShowMax; }
|
||||
set
|
||||
{
|
||||
isShowMax = value;
|
||||
if (isShowMax)
|
||||
{
|
||||
if (this.WindowState == FormWindowState.Maximized)
|
||||
{
|
||||
this.pbMaxBase.Visible = false;
|
||||
this.pbNormalBase.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbMaxBase.Visible = true;
|
||||
this.pbNormalBase.Visible = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbMaxBase.Visible = false;
|
||||
this.pbNormalBase.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string TitleText
|
||||
{
|
||||
get
|
||||
{
|
||||
return Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
Text = lbTitle.Text = value;
|
||||
}
|
||||
}
|
||||
private Point mouseOffset;//记录鼠标指针的坐标
|
||||
private bool isMouseDown;//记录鼠标左键是否按下
|
||||
private void Panel1_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (isMouseDown)
|
||||
{//获取鼠标的位置
|
||||
Point mousePos = MousePosition;
|
||||
mousePos.Offset(mouseOffset.X, mouseOffset.Y);
|
||||
Location = mousePos;
|
||||
}
|
||||
}
|
||||
|
||||
private void Panel1_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
mouseOffset = new Point(-e.X, -e.Y);
|
||||
isMouseDown = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void Panel1_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
isMouseDown = false;
|
||||
}
|
||||
|
||||
private void PictureBox1_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
this.pbCloseBase.Image = global::Work.Properties.Resources.close_hover;
|
||||
this.Cursor = Cursors.Hand;
|
||||
|
||||
}
|
||||
|
||||
private void PictureBox1_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
this.pbCloseBase.Image = global::Work.Properties.Resources.close;
|
||||
this.Cursor = Cursors.Default;
|
||||
|
||||
}
|
||||
|
||||
private void PictureBox2_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
this.pbMinBase.Image = global::Work.Properties.Resources.min_hover;
|
||||
this.Cursor = Cursors.Hand;
|
||||
|
||||
}
|
||||
|
||||
private void PictureBox2_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
this.pbMinBase.Image = global::Work.Properties.Resources.min;
|
||||
this.Cursor = Cursors.Default;
|
||||
|
||||
}
|
||||
|
||||
public virtual void HideTitle()
|
||||
{
|
||||
// this.panel1.Visible = false;
|
||||
}
|
||||
|
||||
#region 窗体提交数据完成事件
|
||||
public event Action<object> SaveComplete;
|
||||
protected virtual void OnSaveComplete(object param)
|
||||
{
|
||||
this.SaveComplete?.Invoke(param);
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void pbNormalBase_Click(object sender, EventArgs e)
|
||||
{
|
||||
WindowState = FormWindowState.Normal;
|
||||
this.pbMaxBase.Visible = true;
|
||||
this.pbNormalBase.Visible = false;
|
||||
}
|
||||
|
||||
private void pbNormalBase_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
this.pbNormalBase.Image = global::Work.Properties.Resources.normal_hover;
|
||||
this.Cursor = Cursors.Hand;
|
||||
}
|
||||
|
||||
private void pbNormalBase_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
this.pbNormalBase.Image = global::Work.Properties.Resources.normal;
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
|
||||
private void pbMaxBase_Click(object sender, EventArgs e)
|
||||
{
|
||||
WindowState = FormWindowState.Maximized;
|
||||
this.pbMaxBase.Visible = false;
|
||||
this.pbNormalBase.Visible = true;
|
||||
}
|
||||
|
||||
private void pbMaxBase_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
this.pbMaxBase.Image = global::Work.Properties.Resources.max_hover;
|
||||
this.Cursor = Cursors.Hand;
|
||||
}
|
||||
|
||||
private void pbMaxBase_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
this.pbMaxBase.Image = global::Work.Properties.Resources.max;
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
private Point mPoint;
|
||||
private void panel2_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
mPoint = new Point(e.X, e.Y);
|
||||
}
|
||||
|
||||
private void panel2_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
this.Location = new Point(this.Location.X + e.X - mPoint.X, this.Location.Y + e.Y - mPoint.Y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user