任何想法如何在MessageBox中显示textBox控件。
我正在研究winforms projcet c#。
提前谢谢。
答案 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
的更多信息
答案 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!中使用参数。