知道如何在 MessageBox 中显示 textBox 控件。
我正在研究winforms projcet c#。
先感谢您。
你不能。MessageBox 是一个特殊的容器,旨在仅显示消息和按钮。相反,您可以使用所需的任何控件创建自己的表单,并.ShowDialog()
在其上使用。
您可以简单地将 VB.NET 中的输入框添加到您的 C# 项目中。首先将Microsoft.VisualBasic添加到您的项目引用中,然后使用以下代码:
string UserAnswer = Microsoft.VisualBasic.Interaction.InputBox("Your Message ", "Title", "Default Response");
这应该可以正常工作。
最好在您的应用程序中添加一个新表单,您可以自定义您想要的方式。
并从需要的地方调用它。
您可以创建一个看起来像消息框的经典 win 表单并将其作为模态表单打开,也许使用Form.ShowDialog
更多信息在
您不能自定义 MessageBox,最好使用单独使用 Windows 窗体设计的弹出窗口并使用其实例来调用。
customPopup popup = new customPopup();
popup.ShowDialog();
如果您想访问以前表单中的文本框或标签等,请将控件放在弹出表单上并将其访问修饰符设置为 public。
customPopup popup = new customPopup();
popup.msgLabel.Text= "Your message";
popup.ShowDialog();
据我所知,没有办法做到这一点。
您可以创建一个 winform 将其样式更改为看起来像 MessageBox 并添加您自己的控件。
是的,正如 krillgar 所说,您应该创建自己的表单。并且 1. 将表单封装在静态类或函数中,因此您可以只调用 MyMessageBox.Show()。2. 文本框应该设置为readonly=true,这样最终用户将无法更改显示的文本,但他们可以选择文本并复制到剪贴板。
关于第 2 项,我相信许多 Windows 构建应用程序和 MS Office 都使用这种方法。
using Microsoft.VisualBasic;//add reference
var Password = Interaction.InputBox("Message", "Title" ,"information in textbox", -1,-1);
在变量“密码”中,它接收从文本框中输入的信息。
请记住在解决方案资源管理器中添加引用“Microsoft.VisualBasic”
解决方案在这里,你可以创建windows窗体并设计它,设置窗体为对话框,当你调用窗体时,它是自动显示的。在您设计的表单中,您在项目中的其他类中设置了一些静态参数值,但是您应该在关闭表单设计时设置,好的,返回表单初始化调用显示对话框,当有 == null 返回调用时创建间隔调用,当 != null 你停止回调并在静态类中使用参数!