2016-12-18 5 views
0

私のフォームにはグリッドコントロールとリボンバーしかありません。フォームがロードされたときにグリッドビューの最初のセルにオートフォーカスが必要です。デベロッパーグリッドコントロールのパネルの自動フォーカスを防ぐ方法

問題:フォームが読み込まれると、グリッドセルの代わりにグリッドの検索パネルに自動フォーカスされます。

私はこれを試しましたが、うまくいきませんでした。ヘルプ、ありがとうございます。

private void gcStockDelivery_Load(object sender, EventArgs e) 
    { 
     BeginInvoke(new MethodInvoker(() => 
     { 
      gvStockDelivery.FocusedColumn = gcBarCode; 
      gvStockDelivery.ShowEditor(); 
     })); 
    } 

enter image description here

コードFormLoad(後に他のコントロールを選択する)

protected override void OnShown(EventArgs e) 
{ 
    base.OnShown(e); 
    txtPurchaseOrder.BeginInvoke(new Action(() => 
    { 
     txtPurchaseOrder.Select(); 
    })); 
} 
+1

は、私が唯一のフォームが自身のセルが –

+0

あなたは私たちにあなたが他のコントロールのフォーカスをacheivedコードを表示することができない、ロードされた他の制御に集中する方法を見つけましたか? – jambonick

+0

@jambonick FormLoad()の後に他のコントロールを選択する方法を追加しました。 –

答えて

0

protected override void OnShown(EventArgs e) 
{ 
    base.OnShown(e); 
    yourGridControl.BeginInvoke(new Action(() => 
    { 
     yourGridControl.Select(); 
    })); 
} 

は、これはあなたの2番目のカスタムです。私はそこに魂を持っていますXtraGrid AutoFilterRow focusing

それは動作します。

protected override void OnShown(EventArgs e) 
{ 
    base.OnShown(e); 
    gcDamageItems.BeginInvoke(new Action(() => 
    { 
     gcDamageItems.ForceInitialize(); 
     gvDamageItems.MoveFirst(); 
     gvDamageItems.FocusedColumn = gvDamageItems.VisibleColumns[0]; 
     gvDamageItems.ShowEditor(); 
    })); 
} 
0

手動でフォーカスを変更する必要がありますので、それは、フォームのLoadに表示されたときにパネルが常に焦点を当てて下さい。別のコントロールを変更するためにコードを表示しました。グリッド自体をコントロールとして選択し、今選択したGotFocusイベントをカスタム化すればどうでしょうか? あなたは、このコードに

を試すことができますこれはあなたの最初のカスタムです:返事が遅れて申し訳ありません

private void yourGridControl_GotFocus(Object sender, EventArgs e) { 
    GridView gridView1 = Me.ViewCollection.Item(0) 
    gridView1.FocusedColumn = gridView1.VisibleColumns(0) 
    gridView1.FocusedRowHandle = 0 

} 
関連する問題