如何在MessageBox中显示textBox控件?

时间:2013-05-29 10:48:03

标签: c# .net winforms

任何想法如何在MessageBox中显示textBox控件。

我正在研究winforms projcet c#。

提前谢谢。

9 个答案:

答案 0 :(得分:16)

你做不到。 MessageBox是一个专门用于显示消息和按钮的容器。相反,您可以使用您想要的任何控件创建自己的表单,并在其上使用.DisplayModal()

答案 1 :(得分:7)

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

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

这应该可以正常工作。

答案 2 :(得分:3)

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

然后从需要的地方调用它。

答案 3 :(得分:1)

你可以创建一个看似消息框并将其打开为模态形式的经典获胜形式 也许使用Form.ShowDialog

的更多信息

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

答案 4 :(得分:1)

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

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

答案 5 :(得分:1)

您无法自定义MessageBox,您最好单独使用使用Windows Form设计的弹出窗口并使用其实例进行调用。

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

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

customPopup popup = new customPopup();
popup.msgLabel.Text= "Your message";
popup.ShowDialog();

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

using Microsoft.VisualBasic;//add reference
var Password = Interaction.InputBox("Message", "Title" ,"information in textbox", -1,-1);

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

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

答案 8 :(得分:-1)

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