MessageBox未包含Controls定义
时间: 2023-08-26 13:38:51 浏览: 77
多种button美化MessageBOX源码测试可直接使用
非常抱歉,我之前的回答有误。在MessageBox中确实没有Controls属性。如果想要修改MessageBox中按钮的文字,可以尝试使用自定义的MessageBox,而不是使用系统提供的MessageBox。
以下是一个自定义MessageBox的示例代码:
```csharp
public static class CustomMessageBox
{
public static DialogResult Show(string text, string caption, string yesButtonText, string noButtonText)
{
Form form = new Form();
Label label = new Label();
Button yesButton = new Button();
Button noButton = new Button();
form.Text = caption;
label.Text = text;
yesButton.Text = yesButtonText;
noButton.Text = noButtonText;
yesButton.DialogResult = DialogResult.Yes;
noButton.DialogResult = DialogResult.No;
label.SetBounds(9, 20, 372, 13);
yesButton.SetBounds(228, 72, 75, 23);
noButton.SetBounds(309, 72, 75, 23);
label.AutoSize = true;
yesButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
noButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
form.ClientSize = new Size(396, 107);
form.Controls.AddRange(new Control[] { label, yesButton, noButton });
form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.StartPosition = FormStartPosition.CenterScreen;
form.MinimizeBox = false;
form.MaximizeBox = false;
form.AcceptButton = yesButton;
form.CancelButton = noButton;
DialogResult dialogResult = form.ShowDialog();
return dialogResult;
}
}
```
你可以通过调用CustomMessageBox类的Show方法来显示自定义的MessageBox,这个方法可以接受四个参数:文本、标题、Yes按钮的文本和No按钮的文本。你可以根据需要进行修改。
例如,要显示一个自定义的MessageBox,文本为"Are you sure you want to exit?",标题为"Confirmation",Yes按钮的文本为"OK",No按钮的文本为"Cancel",可以这样调用:
```csharp
DialogResult result = CustomMessageBox.Show("Are you sure you want to exit?", "Confirmation", "OK", "Cancel");
if (result == DialogResult.Yes)
{
// 用户点击了Yes按钮
}
else
{
// 用户点击了No按钮
}
```
希望这次回答能够帮到你。
阅读全文