在DataGrid中转动输入焦点时,想把焦点移到DataGrid外的TextBox等控件中也不行

解决方案 »

  1.   

    http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q480q上有几个例子,可能别的例子,没有这种现象
      

  2.   

    我所看到的例子中都是实现在ComboBox中用鼠标选择没有问题的,但我想实现这样的效果:
    当用户在特定的Cell中输入数据时,下拉列表自动弹出,就象我们在.NET的IDE里编码时弹出的提示菜单一样,我们可以选择其中一行,也可以自己输入,输入时菜单会自动选择与我们输入的字母匹配的选项
      

  3.   

    Control.BringToFront 方法  [C#]请参见
    Control 类 | Control 成员 | System.Windows.Forms 命名空间 | SendToBack | UpdateZOrder 
    要求
    平台: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows .NET Server family
    语言
    C#C++JScriptVisual Basic全部显示
    将控件带到 Z 顺序的前面。[Visual Basic]
    Public Sub BringToFront()
    [C#]
    public void BringToFront();
    [C++]
    public: void BringToFront();
    [JScript]
    public function BringToFront();
    备注
    控件移到 Z 顺序的前面。如果控件是另一个控件的子控件,那么子控件移到 Z 顺序的前面。BringToFront 不会使一个控件成为顶级控件。
      

  4.   

    hfayga(飞白):
        可能我说的不够清楚,我的ComboBox已经在最上层了,这是正确的,可是输入焦点却还在下面那层的DataGrid上,我想把焦点移到ComboBox上,可是我调用comboBox.Focus()后焦点在ComboBox上一闪而过又跑回dataGrid中去了,这些与Z顺序无关.大家可以试试,在DataGrid中当我们按箭头键移动某一例时让焦点自动跳到一个TextBox中,这时焦点就会又自作聪明地跳回DataGrid中
      

  5.   

    定义你的TableStyle,在其中加入如下代码(按实际改变ColumnStyle的名称):this.dataGridTextBoxColumn1.TextBox.Enter += new EventHandler(this.dataGridTextBoxColumn1Enter);private void dataGridTextBoxColumn1Enter(object sender,EventArgs e)
    {
    this.comboBox1.Focus();
    }