1、在一个Form中显示一个ToolStripDropDown,然后在该ToolStripDropDown 中添加UserControl,在该UserControl得到需要的值后,关闭该ToolStripDropDown ,并设置Form中的控件Focus(),但是,Form中的TextBox虽然得到焦点,但是,按下键盘上的按键后TextBox的文本没有任何变化,需要用鼠标点击该TextBox,后才能响应键盘输入
主要的几行代码如下ToolStripDropDown mPopup = new ToolStripDropDown();
显示UserControl的代码如下getSelectedValue += (value) =>
{
TableNameComboBox.SelectedValue = MyEnum.MyDictionary.ViewDictionary[value.ToString()];
TextBox1.Focus(); //虽然获得焦点,光标也在闪了,但是无法响应键盘输入
};SuspendPanel Panel = new SuspendPanel(getSelectedValue); //SuspendPanel就是UserControl
ToolStripControlHost ControlHost = new ToolStripControlHost(Panel);
mPopup.Items.Add(ControlHost);
mPopup.Show(groupBox2,Point);UserControl中返回值后再关闭该UserControl的代码如下
getSelectedValue(ViewName_DataGridView.Rows[hitTest.RowIndex].Cells[1].Value);
this.Dispose();2、在该UserControl中,我设置了一个TextBox的TabIndex为0,并且在Load事件的最后中让它Focus(); 但是任然无法获得焦点,光标都没有在它上面,还要用鼠标点private void SuspendPanel_Load(object sender, EventArgs e)
{
ViewName_DataGridView.DataSource = DatabaseManager.getDataSet("select SpellIndex,CallName from tb_TableViewName where SpellIndex like '" + SpellIdsex_TextBox.Text + "%'").Tables[0];
SpellIdsex_TextBox.Focus(); //这里设置了却根本没有获得焦点,SpellIdsex_TextBox的TabIndex也设置为0了
}
主要的几行代码如下ToolStripDropDown mPopup = new ToolStripDropDown();
显示UserControl的代码如下getSelectedValue += (value) =>
{
TableNameComboBox.SelectedValue = MyEnum.MyDictionary.ViewDictionary[value.ToString()];
TextBox1.Focus(); //虽然获得焦点,光标也在闪了,但是无法响应键盘输入
};SuspendPanel Panel = new SuspendPanel(getSelectedValue); //SuspendPanel就是UserControl
ToolStripControlHost ControlHost = new ToolStripControlHost(Panel);
mPopup.Items.Add(ControlHost);
mPopup.Show(groupBox2,Point);UserControl中返回值后再关闭该UserControl的代码如下
getSelectedValue(ViewName_DataGridView.Rows[hitTest.RowIndex].Cells[1].Value);
this.Dispose();2、在该UserControl中,我设置了一个TextBox的TabIndex为0,并且在Load事件的最后中让它Focus(); 但是任然无法获得焦点,光标都没有在它上面,还要用鼠标点private void SuspendPanel_Load(object sender, EventArgs e)
{
ViewName_DataGridView.DataSource = DatabaseManager.getDataSet("select SpellIndex,CallName from tb_TableViewName where SpellIndex like '" + SpellIdsex_TextBox.Text + "%'").Tables[0];
SpellIdsex_TextBox.Focus(); //这里设置了却根本没有获得焦点,SpellIdsex_TextBox的TabIndex也设置为0了
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货