我正在使用Windows应用程序。(。net / c#) 在加载时我想将第一个/默认控件设置为选中并在不使用鼠标的情况下启动dataEntry。
我添加this.ActiveControl = myTextbox;
或myTextbox .Select();
后,它会在UI上正常工作
但最初没有使用鼠标时,它是不活跃的或可打字的。我对公司的组合框也做了同样的尝试而没有按预期的方式工作。
我也尝试了Focus()。
代码:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
_context = new CompanyContext();
companyList = _context.Companies.ToList();
var companylist = new BindingList<BPS.Data.Entities.Company>(companyList);
metroComp.DataSource = companylist;
metroComp.DisplayMember = "CompanyName";
metroComp.ValueMember = "CompanyName";
this.ActiveControl = myTextBox;
//myTextBox.Select();// Tried this line also and working same effect
}
我在Form_Load中尝试了该代码
答案 0 :(得分:1)
还添加以下代码行,
this.Activate();
到你的表格。它可能不是活动的父控件。当表格显示时。
我建议在Load事件结束时激活表单。所以表单成为应用程序中的活动表单。
答案 1 :(得分:1)
所以我认为这是适合您案例的代码,
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
_context = new CompanyContext();
companyList = _context.Companies.ToList();
var companylist = new BindingList<BPS.Data.Entities.Company>(companyList);
metroComp.DataSource = companylist;
metroComp.DisplayMember = "CompanyName";
metroComp.ValueMember = "CompanyName";
InitializeComponent();
myTextBox.Focus();
}