[英]Dynamically Adding ComboBox/Text Box to DataGridView Windows Forms C#
[英]Focus or Select text box on c# windows forms application
我正在制作Windows窗体应用程序,并且在启动该应用程序时,光标位于错误的文本框中。
我尝试过在线搜索其他一些问题,但似乎没有任何效果。
我已经尝试过inputBox.Focus(); bot在初始化组件之后,我也在输入框方法中尝试了此操作,并尝试了inputBox.Select();。 在一些地方也是如此。 似乎没有什么不同。
我还看到您可以将文本框的选项卡索引设置为零,但是不幸的是我不明白。 我在Visual Studio的任何地方都找不到此选项。 我认为这将在设计器中文本框的属性中。 我看错地方了吗? 还是应该寻找其他解决方案?
这是我的代码:
namespace Project_9
{
public partial class Form1 : Form
{
const int MAX = 10;
Bowling objectRef;
public Form1()
{
InitializeComponent();
objectRef = new Bowling(10);
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show("Jonathan Spalding\nCS1400\nProject 9");
}
private void inputBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
string text = inputBox.Text;
if (text == "")
{
highScoreBox.Text = objectRef.GetHighScorePlayer() + ": " + string.Format("{0:d}", objectRef.GetHighScore());
lowScoreBox.Text = objectRef.GetLowScorePlayer() + ": " + string.Format("{0:d}", objectRef.GetLowScore());
averageScoreBox.Text = string.Format("{0:f2}", objectRef.GetAverageScore());
}
else
{
inputBox.Clear();
objectRef.AddPlayer(text);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
inputBox.Focus();
}
}
}
在加载事件中
ActiveControl = inputBox;
您可以将TabIndex
属性设置为大于0的值。该控件的最小值将集中在启动上。 然后,可以在其他控件上设置TabIndex,以便在按Tab键时,下一个控件(具有更高的TabIndex)将成为焦点。
在表单构造函数中,您可以使用:
public Form1()
{
InitializeComponent();
inputBox.Focus();
}
要么
public Form1()
{
InitializeComponent();
inputBox.Focus();
inputBox.Select();
}
我认为最好的方法是通过在控件上单击鼠标来设置TabIndex。 只需转到查看菜单,然后转到TabIndexOrder菜单选项。 然后,您可以通过按所需方式单击表单上表示的TabIndex来设置TabIndex顺序。 完成后,只需再次选择TabIndexOrder菜单选项即可退出帮助器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.