在dataGrid的CurrentCellChanged事件中  
if(this.dataGrid1.CurrentCell  .ColumnNumber==3)  
{
//将combo绑定到dataGrid上面后
this.comboBox1.Visible = true;
this.comboBox1.Focus();
}  
但是为何焦点还在在Col上而无法转换到combo上面呢?  
我要怎么样做才能将焦点转到combo上面去?

解决方案 »

  1.   

    private void GetFocus(int row,int col)
    {
      //先把焦点移动到DataGrid
      this.dgdFunctionArea.Focus(); 
      //把焦点移动到DataGridCell
      DataGridCell dgc = new DataGridCell(row,col); 
      this.dgdFunctionArea.CurrentCell = dgc; 
      DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)dgdFunctionArea.TableStyles[0].GridColumnStyles[col]; 
        //设置焦点
        dgtb.TextBox.Focus();
    }
      

  2.   

    我不是用这种方法把comb绑定到dataGrid上
    我是先把combox放置在窗口上然后在col=3时显示出来并且使它获取焦点
    现在就是只能显示出来而焦点却还在col上面
      

  3.   

    楼主,你发的MSG收到。把this.comboBox1置前后再设置焦点
      

  4.   

    这种方法一开始就试过了
    不行啊
    不知道怎么的焦点总是停在了col上而无法跳到combox上面去
      

  5.   

    算了
    要跳到combo上面先要把datagrid禁掉才行
      

  6.   

    this.combobox1.Focus();
    this.combobox1.BringToFront();