我想在窗体中显示一个带有Ok
和Detail
按钮的消息框。我已经为该功能做了一些代码,但它还显示了一个取消按钮,并且在详细部分中它仅显示了我以字符串形式编写的消息。代码是
var dialogTypeName = "System.Windows.Forms.PropertyGridInternal.GridErrorDlg";
var dialogType = typeof(M3Form).Assembly.GetType(dialogTypeName);
// Create dialog instance.
var dialog = (M3Form)Activator.CreateInstance(dialogType, new PropertyGrid());
// Populate relevant properties on the dialog instance.
dialog.Text = "Accknowledge Error";
dialogType.GetProperty("Details").SetValue(dialog, "Maximum length has been exceeded. Maximum = 50, Actual =" + txtName.Text.Length + "", null);
dialogType.GetProperty("Message").SetValue(dialog, "Maximum length has been exceeded. Maximum = 50, Actual =" + txtName.Text.Length + "", null);
// Display dialog.
var result = dialog.ShowDialog();
如何在详细信息部分仅显示“确定”按钮和详细信息按钮以及堆栈跟踪错误消息。
最佳答案
如果我理解正确,则希望将MessageBox上的默认OK
和Cancel
按钮更改为OK
和Details
。这需要太多的工作,而且在没有创建自己的MessageBox的情况下也不容易做到。
IMO最好创建一个新的看起来像MessageBox
的表格,并在每次需要显示一条消息时显示出来。然后,在显示ShowDialog
时可以使用MessageBox Form
,这样它是一个类似于MessageBox的模式窗口。