- PR -

DataGridのサブクラスで特定の行動で次のコントロールにフォーカスを移したい

1
投稿者投稿内容
cobalt
会議室デビュー日: 2005/05/02
投稿数: 14
投稿日時: 2005-05-02 14:25
 初めて投稿させて頂きます。cobaltと申します。

 DataGridを継承したクラスを作っているのですが、特定の行動を取った際に次のコントロールにフォーカスを移動するようにしたいのですが、下記のようにやってもうまくいきません。


 public class NewText : DataGrid
 {

  protected override void OnCurrentCellChanged(EventArgs e)
  {
   base.OnCurrentCellChanged (e);

   this.TopLevelControl.SelectNextControl(this,true,true,true,true);
  }

 }


 テストでカレントセルが移動したらフォーカス移動するようにしようとしたのですが、一瞬次のフォーカスに移動してるっぽい(次のコントロールであるテキストに一瞬カーソルが映る)のですが、すぐにDataGridにフォーカスが戻ってしまいます。
 たとえばこれをDataGridを継承ではなくてTextBoxを継承してChangeTextイベントに同じような事をするとちゃんとフォーカスが移動します。ですのでDataGrid特有の問題だと思うのですが。

 解決方法等ご存知の方はご教授お願いします。
1

スキルアップ/キャリアアップ(JOB@IT)