我创建了一个小表单,要求我的 C# 程序的用户输入一些文本。当程序到达程序中的某个点时,表单会弹出一个标签,上面写着“输入数字”和一个允许他们输入数字的文本框。有一个按钮,他们可以点击 OK 和关闭表单并将文本框中的值发回。我有2个问题
首先,当表单出现时,我希望光标位于文本框中,这样人们就可以开始输入了。现在他们必须点击文本框。我认为将焦点放在文本框上会导致这种情况,但正如您在下面看到的,我尝试过。
其次,当有人在文本框中键入并且他们点击返回时,我希望它就像我在表单上的按钮被点击一样。该表单将完成所有将完成的事情,例如结束并将文本发回,就好像有人点击了 OK 一样。
我有 Windows XP 和 Visual Studio 2008。
这是我拥有的代码:
public static class Prompt
{
public static string ShowDialog(string text, string caption)
{
Form prompt = new Form();
prompt.Width = 600;
prompt.Height = 200;
prompt.Text = caption;
Label textLabel = new Label() { Left = 50, Top = 20, Width = 600, Text = text };
TextBox textBox = new TextBox() { Left = 50, Top = 50, Width = 400 };
textBox.Focus();
Button confirmation = new Button() { Text = "Ok", Left = 350, Width = 100, Top = 70 };
confirmation.Click += (sender, e) => { prompt.Close(); };
prompt.Controls.Add(confirmation);
prompt.Controls.Add(textLabel);
prompt.Controls.Add(textBox);
prompt.ShowDialog();
return textBox.Text;
}
}