using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Desktop.UI; namespace Milimoe.FunGame.Desktop.Library.Component { public partial class GeneralForm : Form { protected int loc_x, loc_y; // 窗口当前坐标 public GeneralForm() { InitializeComponent(); } /// /// 绑定事件,子类需要重写 /// protected virtual void BindEvent() { } /// /// 鼠标按下,开始移动主窗口 /// /// /// protected virtual void Title_MouseDown(object sender, MouseEventArgs e) { //判断是否为鼠标左键 if (e.Button == MouseButtons.Left) { //获取鼠标左键按下时的位置 loc_x = e.Location.X; loc_y = e.Location.Y; } } /// /// 鼠标移动,正在移动主窗口 /// /// /// protected virtual void Title_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { //计算鼠标移动距离 Left += e.Location.X - loc_x; Top += e.Location.Y - loc_y; } } /// /// 自定义窗体销毁方法 /// protected virtual void FormClosedEvent(object? sender, FormClosedEventArgs e) { if (GetType() == typeof(ShowMessage)) { return; } Singleton.Remove(this); if (GetType() == typeof(Main)) { RunTime.Main = null; } else if (GetType() == typeof(Login)) { RunTime.Login = null; } else if (GetType() == typeof(Register)) { RunTime.Register = null; } else if (GetType() == typeof(InventoryUI)) { RunTime.Inventory = null; } else if (GetType() == typeof(StoreUI)) { RunTime.Store = null; } else if (GetType() == typeof(RoomSetting)) { RunTime.RoomSetting = null; } else if (GetType() == typeof(UserCenter)) { RunTime.UserCenter = null; } } } }