VSoft/Source/VSoft_Dll/Prams/Msg.cs
紫林公司 6f72e8e105 ### 2024-12-10更新
------
#### VSoft    V2.0.2412.1001
- *.[新增]拖放文件到主界面,支持直接插入到拖放的位置。
- *.[新增]新增支持设置运行次数的功能,可以快速进行多开。
- *.[新增]支持保存大小和选中的栏目和分类位置。
- *.[改进]切换栏目会记录列表滚动条位置和选中的分类。
- *.[改进]编辑添加的内置功能,将不允许修改路径。
- *.[改进]读取快捷方式时,支持自动获取图标信息。
- *.[改进]新增软件完成后,不再刷新列表,而是直接添加到列表末尾。
- *.[改进]新增软件或拖放软件后,界面直接定位到添加的列表位置。
- *.[改进]点击显示主界面时,如果存在模式窗体,则将模式窗体显示在前面。
- *.[改进]当百度翻译出错时自动重试翻译。
- *.[修复]栏目和分类进行拖放操作时,拖放出控件会残留拖放标志的BUG。
2024-12-10 16:56:35 +08:00

105 lines
4.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace VSoft.Prams
{
public static class Msg
{
/// <summary>
/// 显示对话框
/// </summary>
/// <param name="msgText"></param>
/// <param name="title"></param>
/// <returns></returns>
public static DialogResult ShowMsg(string msgText, string title)
{
return ShowMsg(msgText, title, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
/// <summary>
/// 显示对话框
/// </summary>
/// <param name="msgText"></param>
/// <param name="title"></param>
/// <param name="button"></param>
/// <returns></returns>
public static DialogResult ShowMsg(string msgText, string title, MessageBoxButtons button)
{
return ShowMsg(msgText, title, button, MessageBoxIcon.Information);
}
/// <summary>
/// 显示对话框
/// </summary>
/// <param name="msgText"></param>
/// <param name="title"></param>
/// <param name="button"></param>
/// <param name="Icon"></param>
/// <param name="defaultButton"></param>
/// <returns></returns>
public static DialogResult ShowMsg(string msgText, string title, MessageBoxButtons button, MessageBoxIcon Icon,MessageBoxDefaultButton defaultButton)
{
return ShowMsg(msgText, title, button, Icon);
}
/// <summary>
/// 显示对话框
/// </summary>
/// <param name="msgText"></param>
/// <param name="title"></param>
/// <param name="button"></param>
/// <param name="Icon"></param>
/// <returns></returns>
public static DialogResult ShowMsg(string msgText, string title, MessageBoxButtons button, MessageBoxIcon Icon)
{
Skins.FrmMessageBox frm = new Skins.FrmMessageBox
{
Text = title
};
frm.lblMsg.Text = msgText;
frm.lblMsg.UpdateInfo();
frm.ResultDg = button;
switch (button)
{
case MessageBoxButtons.OK:
frm.btnYes.Location = new System.Drawing.Point(frm.ClientSize.Width - frm.btnYes.Width - 8, frm.ClientSize.Height - frm.btnYes.Height - 8);
frm.btnCancel.Visible = false;
break;
case MessageBoxButtons.OKCancel:
case MessageBoxButtons.YesNo:
frm.btnCancel.Location = new System.Drawing.Point(frm.ClientSize.Width - frm.btnYes.Width - 8, frm.ClientSize.Height - frm.btnYes.Height - 8);
frm.btnYes.Location = new System.Drawing.Point(frm.btnCancel.Left - frm.btnYes.Width - 8, frm.btnCancel.Top);
break;
case MessageBoxButtons.RetryCancel:
frm.btnCancel.Location = new System.Drawing.Point(frm.ClientSize.Width - frm.btnYes.Width - 8, frm.ClientSize.Height - frm.btnYes.Height - 8);
frm.btnYes.Location = new System.Drawing.Point(frm.btnCancel.Left - frm.btnYes.Width - 8, frm.btnCancel.Top);
frm.btnYes.Text = "重试";
break;
default:
frm.btnYes.Location = new System.Drawing.Point(frm.ClientSize.Width - frm.btnYes.Width - 8, frm.ClientSize.Height - frm.btnYes.Height - 8);
frm.btnCancel.Visible = false;
break;
}
frm.TopMost = true;
var handle= WinAPI.User32.GetActiveWindow();
var have_owner = false;
Form owner = null;
for (int i = 0; i < Application.OpenForms.Count; i++)
{
if(Application.OpenForms[i].Handle==handle)
{
owner = Application.OpenForms[i];
frm.Location = new System.Drawing.Point(owner.Left + (owner.Width - frm.Width) / 2, owner.Top + (owner.Height - frm.Height) / 2);
have_owner = true;
break;
}
}
//WinAPI.User32.GetWindowRect(handle,out var rectangle);
//var title2= ryCommon.RyForm.GetWinText(handle);
//frm.Location = new System.Drawing.Point(rectangle.X + (rectangle.Width - frm.Width) / 2, rectangle.Y + (rectangle.Height - frm.Height) / 2);
if (!have_owner) { frm.StartPosition = FormStartPosition.CenterScreen; }
return frm.ShowDialog(owner);
}
}
}