17

知道如何在 MessageBox 中显示 textBox 控件。

我正在研究winforms projcet c#。

先感谢您。

4

9 回答 9

20

你不能。MessageBox 是一个特殊的容器,旨在仅显示消息和按钮。相反,您可以使用所需的任何控件创建自己的表单,并.ShowDialog()在其上使用。

于 2013-05-29T10:50:03.267 回答
13

您可以简单地将 VB.NET 中的输入框添加到您的 C# 项目中。首先将Microsoft.VisualBasic添加到您的项目引用中,然后使用以下代码:

string UserAnswer = Microsoft.VisualBasic.Interaction.InputBox("Your Message ", "Title", "Default Response");

这应该可以正常工作。

于 2015-12-07T23:32:33.317 回答
4

最好在您的应用程序中添加一个新表单,您可以自定义您想要的方式。

并从需要的地方调用它。

于 2013-05-29T10:51:53.790 回答
2

您可以创建一个看起来像消息框的经典 win 表单并将其作为模态表单打开,也许使用Form.ShowDialog

更多信息在

http://msdn.microsoft.com/en-us/library/c7ykbedk.aspx

于 2013-05-29T10:49:44.407 回答
2

您不能自定义 MessageBox,最好使用单独使用 Windows 窗体设计的弹出窗口并使用其实例来调用。

customPopup popup = new customPopup();
popup.ShowDialog();

如果您想访问以前表单中的文本框或标签等,请将控件放在弹出表单上并将其访问修饰符设置为 public。

customPopup popup = new customPopup();
popup.msgLabel.Text= "Your message";
popup.ShowDialog();
于 2013-05-29T11:02:34.353 回答
1

据我所知,没有办法做到这一点。

您可以创建一个 winform 将其样式更改为看起来像 MessageBox 并添加您自己的控件。

于 2013-05-29T10:50:11.577 回答
0

是的,正如 krillgar 所说,您应该创建自己的表单。并且 1. 将表单封装在静态类或函数中,因此您可以只调用 MyMessageBox.Show()。2. 文本框应该设置为readonly=true,这样最终用户将无法更改显示的文本,但他们可以选择文本并复制到剪贴板。

关于第 2 项,我相信许多 Windows 构建应用程序和 MS Office 都使用这种方法。

于 2013-05-29T11:07:46.433 回答
0
using Microsoft.VisualBasic;//add reference
var Password = Interaction.InputBox("Message", "Title" ,"information in textbox", -1,-1);

在变量“密码”中,它接收从文本框中输入的信息。

请记住在解决方案资源管理器中添加引用“Microsoft.VisualBasic”

于 2020-08-27T12:37:01.073 回答
-1

解决方案在这里,你可以创建windows窗体并设计它,设置窗体为对话框,当你调用窗体时,它是自动显示的。在您设计的表单中,您在项目中的其他类中设置了一些静态参数值,但是您应该在关闭表单设计时设置,好的,返回表单初始化调用显示对话框,当有 == null 返回调用时创建间隔调用,当 != null 你停止回调并在静态类中使用参数!

于 2017-10-02T08:36:22.883 回答