我主要是想重载messagebox
换其背景,还自定义一些按钮
换其背景,还自定义一些按钮
解决方案 »
- DataGridView键盘方向箭及回车键的操作问题
- 用JS怎么提取数据,怎么操作数据?
- 求帮忙编个 指南针 4天了哭死
- 大家来看一下吧,关于去除HTML标记语言的问题
- 怎么样循环生成多个 button
- 初学:程序的速度和负载问题
- 谁有Infragistics NetAdvantage 2007 Vol.2 的序列号
- access的表里有三条记录,但是datagridview里只显示了一条记录
- 一个简单问题,急
- 如何解决程序被覆盖问题
- 在一个页面上,有一个输入框,有一个按钮,点击按钮就把文本框中信息发送到一个邮箱中,没有发送者,怎么发送邮件,而且不用任何组件发送
- 欢迎 .net技术联盟 QQ群:14899123
能不能具体点,最好有实例,先谢了
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Security;namespace System.Windows.Forms
{
public class MessageBox
{
private const int IDOK = 1; private const int IDCANCEL = 2; private const int IDABORT = 3; private const int IDRETRY = 4; private const int IDIGNORE = 5; private const int IDYES = 6; private const int IDNO = 7;
private static DialogResult Win32ToDialogResult(int value)
{
switch (value)
{
case 1:
return DialogResult.OK; case 2:
return DialogResult.Cancel; case 3:
return DialogResult.Abort; case 4:
return DialogResult.Retry; case 5:
return DialogResult.Ignore; case 6:
return DialogResult.Yes; case 7:
return DialogResult.No; default:
return DialogResult.No;
}
} public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options)
{
return ShowCore(null, text, caption, buttons, icon, defaultButton, options);
} public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton)
{
return ShowCore(null, text, caption, buttons, icon, defaultButton, 0);
} public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
{
return ShowCore(null, text, caption, buttons, icon, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(string text, string caption, MessageBoxButtons buttons)
{
return ShowCore(null, text, caption, buttons, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(string text, string caption)
{
return ShowCore(null, text, caption, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(string text)
{
return ShowCore(null, text, "", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options)
{
return ShowCore(owner, text, caption, buttons, icon, defaultButton, options);
} public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton)
{
return ShowCore(owner, text, caption, buttons, icon, defaultButton, 0);
} public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
{
return ShowCore(owner, text, caption, buttons, icon, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons)
{
return ShowCore(owner, text, caption, buttons, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(IWin32Window owner, string text, string caption)
{
return ShowCore(owner, text, caption, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0);
} public static DialogResult Show(IWin32Window owner, string text)
{
return ShowCore(owner, text, "", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, 0);
} private static DialogResult ShowCore(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options)
{
if (!Enum.IsDefined(typeof(MessageBoxButtons), buttons))
{
throw new InvalidEnumArgumentException("buttons", buttons, typeof(DialogResult));
}
if (!Enum.IsDefined(typeof(MessageBoxIcon), icon))
{
throw new InvalidEnumArgumentException("icon", icon, typeof(DialogResult));
}
if (!Enum.IsDefined(typeof(MessageBoxDefaultButton), defaultButton))
{
throw new InvalidEnumArgumentException("defaultButton", defaultButton, typeof(DialogResult));
}
if (!SystemInformation.UserInteractive && (options & 2228224) == 0)
{
throw new InvalidOperationException(SR.GetString("CantShowModalOnNonInteractive"));
}
if (owner != null && (options & 2228224) != 0)
{
throw new ArgumentException(SR.GetString("CantShowMBServiceWithOwner"), "style");
}
IntSecurity.SafeSubWindows.Demand();
int i = buttons | icon | defaultButton | options;
IntPtr j = IntPtr.Zero;
if ((options & 2228224) == 0)
{
if (owner == null)
{
j = UnsafeNativeMethods.GetActiveWindow();
}
else
{
j = owner.Handle;
}
}
Application.BeginModalMessageLoop();
DialogResult dialogResult = Win32ToDialogResult(SafeNativeMethods.MessageBox(new HandleRef(owner, j), text, caption, i));
Application.EndModalMessageLoop();
return dialogResult;
}
}}
就是说,自己写个对吧,能不能先再给个思路
然后构造函数重载个N个,参数给个N个(你要枚聚也可以...),
然后点击不同的按钮里面
设置this.DialogResult 的值
Close掉就可以了