c# 设计带图标和确认按钮的弹窗,代替系统自带的MessageBox
时间: 2024-03-26 21:36:07 浏览: 123
在 C# 中,我们可以使用自定义的对话框来代替系统自带的 MessageBox。自定义对话框可以包含任意控件,包括图标和确认按钮。下面是一个简单的示例,演示如何创建一个带有图标和确认按钮的自定义对话框。
首先,在 Visual Studio 中创建一个新的 Windows 窗体应用程序。然后,添加一个新的窗体,命名为 CustomDialog。
在 CustomDialog 窗体中,添加一个 PictureBox 控件和一个 Label 控件。PictureBox 控件用于显示图标,Label 控件用于显示消息。如下所示:
```csharp
public partial class CustomDialog : Form
{
public CustomDialog(string message, MessageBoxIcon icon)
{
InitializeComponent();
switch (icon)
{
case MessageBoxIcon.Information:
pictureBox1.Image = SystemIcons.Information.ToBitmap();
break;
case MessageBoxIcon.Question:
pictureBox1.Image = SystemIcons.Question.ToBitmap();
break;
case MessageBoxIcon.Warning:
pictureBox1.Image = SystemIcons.Warning.ToBitmap();
break;
case MessageBoxIcon.Error:
pictureBox1.Image = SystemIcons.Error.ToBitmap();
break;
}
label1.Text = message;
}
}
```
然后,在 CustomDialog 窗体中添加一个“确认”按钮。在按钮的 Click 事件处理程序中,将 DialogResult 属性设置为 DialogResult.OK 并关闭窗体。如下所示:
```csharp
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
```
现在,我们可以在主窗体中使用 CustomDialog 对象来显示自定义对话框。例如:
```csharp
private void button1_Click(object sender, EventArgs e)
{
CustomDialog dialog = new CustomDialog("确定要删除此项吗?", MessageBoxIcon.Question);
if (dialog.ShowDialog() == DialogResult.OK)
{
// 用户点击了“确认”按钮
// 执行删除操作
}
}
```
以上代码将创建一个带有“确定要删除此项吗?”消息和问号图标的自定义对话框。当用户点击“确认”按钮时,代码将执行删除操作。
希望这个简单的示例可以帮助你创建自己的带有图标和确认按钮的自定义对话框。
阅读全文