C#自定义MessageBox窗口

C#里自带的MessageBox虽然用着方便,但想要一点自己的风格就不太行了。这个自制MessageBox教程就挺适合你折腾一下 UI,像改颜色、加图标、加点小动画啥的,统统能搞定。整体逻辑也不难,照着一步步来,熟悉Windows Forms基本操作就行。

自定义对话框是第一步。新建个窗体,命名CustomMessageBox,你可以随意拖控件,比如一个显示消息的Label、一个或多个按钮,还有你喜欢的小图标控件。

外观自定义比较随意,看你想走什么风格。比如搞个无边框窗体(改FormBorderStyle就行),加张背景图,调个字体,玩点渐变色都挺有趣的。想搞酷一点,还能做点动画效果,像淡入淡出,体验会好不少。

消息显示这一块,用一个公共方法ShowDialog(string message)来传入提示内容就行。这个方法里你只要让窗体上的LabelTextBox显示这个内容,调用时一行代码就能弹出来。

用户交互也关键。每个按钮加个Click事件,点击时设置DialogResult。比如你想实现MessageBoxResult.YesNo那种效果,直接在事件里返回对应值就好。

使用方式也简单,像下面这样:

CustomMessageBox customBox = new CustomMessageBox();
DialogResult result = customBox.ShowDialog("这是你的自定义消息");
if (result == DialogResult.OK) {
  // 用户点了确定
}

功能扩展可以往复杂玩。比如加个输入框、复选框、甚至嵌个 WebView 都不是问题。你要做设置弹窗、确认删除提示这些场景,搞个这个自定义窗体挺合适的。

注意别忽略兼容性,像不同分辨率、系统主题下的表现要提前测。还有一个小建议:控件布局和颜色搭配要统一,不然容易显得糙。如果你想看实战项目,WindowsFormsApplication9里就有一个完整例子可以参考。

zip
WindowsFormsApplication9.zip 预估大小:32个文件
folder
WindowsFormsApplication9 文件夹
file
WindowsFormsApplication9.sln 914B
file
WindowsFormsApplication9.suo 13KB
folder
WindowsFormsApplication9 文件夹
folder
bin 文件夹
folder
Debug 文件夹
file
WindowsFormsApplication9.vshost.exe.manifest 490B
file
WindowsFormsApplication9.vshost.exe 11KB
file
WindowsFormsApplication9.pdb 38KB
file
WindowsFormsApplication9.exe 13KB
file
Form1.Designer.cs 2KB
file
Program.cs 505B
folder
obj 文件夹
folder
x86 文件夹
folder
Debug 文件夹
file
WindowsFormsApplication9.csproj.GenerateResource.Cache 1KB
file
WindowsFormsApplication9.Properties.Resources.resources 180B
file
Client.View.MessageBoxCtrl.resources 180B
file
Client.View.MessageBackGround.resources 180B
file
WindowsFormsApplication9.pdb 38KB
file
DesignTimeResolveAssemblyReferencesInput.cache 6KB
file
DesignTimeResolveAssemblyReferences.cache 3KB
folder
TempPE 文件夹
file
WindowsFormsApplication9.exe 13KB
file
WindowsFormsApplication9.csproj.FileListAbsolute.txt 1KB
file
WindowsFormsApplication9.Form1.resources 180B
file
MessageBoxCtrl.cs 2KB
file
WindowsFormsApplication9.csproj 4KB
file
MessageBoxCtrl.designer.cs 5KB
file
Form1.cs 593B
file
MessageBackGround.cs 1KB
file
MessageBoxCtrl.resx 6KB
file
Form1.resx 6KB
file
MessageBackGround.resx 6KB
file
MessageBackGround.designer.cs 2KB
folder
Properties 文件夹
file
Resources.resx 5KB
file
Settings.settings 249B
file
AssemblyInfo.cs 1KB
file
Settings.Designer.cs 1KB
file
Resources.Designer.cs 3KB
zip 文件大小:60.52KB