RaUI/Source/Itrycn_Project2/Public/SkinForms/Msg.cs
zilinsoft 7ff45b3074 ## 📅2026-06-04 星期四更新
### RaUI    V4.0.2606.0401
- *.[新增]QuickWeb新增支持重试次数。
- *.[新增]RySetting类新增支持json格式设置存储和获取。
- *.[新增]RySetting类新增支持读取设置到内存,然后按配置名称读取。
- *.[新增]新增SuperFileSearch类,文件查找。
- *.[新增]QuickWeb新增CurPageUrl属性。
- *.[新增]HardWare新增支持获取显示器信息。
- *.[新增]HardWare新增GetWMI函数。
- *.[改进]QuickWeb类的UA从IE改为Edge。
- *.[改进]Hosts类IP与域名分隔符从\t改为三个空格。
- *.[改进]RyImage的CropOrFill函数,如果输入的长宽比例与原图一致,则返回原图的副本而不是原图。
- *.[改进]RySoft类的CompareVer函数支持特殊格式的版本号。
- *.[改进]QuickWeb的ConvertUrl函数新增支持自动从CurPageUrl获取。
- *.[改进]DateDiff函数对时间差异小于等于10秒的,自动加上毫秒数据。
- *.[修复]修复ObjectListView控件的AspectGetter方法可能调用null对象的问题。
- *.[修复]修复日期选择控件在获取节假日数据时,会因为节假日文件夹无法访问而报错的问题。
- *.[修复]修复某些情况下剪切板权限问题导致ObjectListView控件报错。
- *.[修复]修复RyImage的CropOrFill函数图片比例不一致时,也是返回原图副本的BUG。
### Itrycn_Project2    V1.0.2606.0401
- *.[改进]将公共调用,无需新增内容的部分代码,改到Public文件夹下
2026-06-04 09:40:37 +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 RySkins
{
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)
{
#pragma warning disable CA2000 // 丢失范围之前释放对象
FrmMessageBox frm = new FrmMessageBox
{
Text = title
};
#pragma warning restore CA2000 // 丢失范围之前释放对象
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;
for (int i = 0; i < Application.OpenForms.Count; i++)
{
if(Application.OpenForms[i].Handle==handle)
{
var 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;
}
}
//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();
}
}
}