我希望编写一个简单的应用程序,输入一些字符串,并用它做一些事情。
我搜索类似于Delphi的InputBox或InputQuery的函数,从预定义的表单中读取字符串。 这就像MessageBox对于避免手工表单创建非常有用。
例如:
p1 := InputBox('Type the parameter', 'Parameter 1');
...
但我没有找到任何功能。 有人能知道吗?
感谢: DD
答案 0 :(得分:8)
您可以使用InputBox from the VisualBasic namespace:
var str1 = Microsoft.VisualBasic.Interaction.InputBox("Name:", "", "", 100, 100);
仅仅因为它位于VisualBasic
命名空间并不意味着它是坏的!
答案 1 :(得分:7)
using System.Windows.Forms;
using System.Drawing;
public static DialogResult InputBox(string title, string promptText, ref string value)
{
Form form = new Form();
Label label = new Label();
TextBox textBox = new TextBox();
Button buttonOk = new Button();
Button buttonCancel = new Button();
form.Text = title;
label.Text = promptText;
textBox.Text = value;
buttonOk.Text = "OK";
buttonCancel.Text = "Cancel";
buttonOk.DialogResult = DialogResult.OK;
buttonCancel.DialogResult = DialogResult.Cancel;
label.SetBounds(9, 20, 372, 13);
textBox.SetBounds(12, 36, 372, 20);
buttonOk.SetBounds(228, 72, 75, 23);
buttonCancel.SetBounds(309, 72, 75, 23);
label.AutoSize = true;
textBox.Anchor = textBox.Anchor | AnchorStyles.Right;
buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
form.ClientSize = new Size(396, 107);
form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel });
form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.StartPosition = FormStartPosition.CenterScreen;
form.MinimizeBox = false;
form.MaximizeBox = false;
form.AcceptButton = buttonOk;
form.CancelButton = buttonCancel;
DialogResult dialogResult = form.ShowDialog();
value = textBox.Text;
return dialogResult;
}
答案 2 :(得分:0)
试试这个:MSDN Forums - Where is the simple dialog prompt (similar to MessageBox)?
引用接受的答案:
没有这样的事情......除非你 正在使用Visual Basic或特殊 添加对该引用的引用 Microsoft.VisualBasic程序集。
添加引用后 Microsoft.VisualBasic,你可以使用 代码如下:
string s = Microsoft.VisualBasic.Interaction.InputBox("Enter string:", "Data Entry", "", -1, -1);
我想说我找到了这个 对话在视觉上“丑陋” - 我 会建议你自己动手 对话框。
答案 3 :(得分:0)
您可以使用输入字段编写自己的窗口,或使用Microsoft.VisualBasic
程序集中的Microsoft Visual Basic .NET Runtime
命名空间。
你可能会:
string result = Interaction.InputBox("Param1","Param2" ...);
答案 4 :(得分:0)
看看这个post。我认为这对你有帮助。
答案 5 :(得分:0)
.NET,因此C#没有像Delphi中的 InputBox 或输入对话框那样通过 showInputDialog 进行输入输入形式Java中的方法。
UPD。 忘了可能的Visual Basic程序集。