[英]How to prevent auto focus of find panel in devexpress grid control
我的表單只有網格控件和功能區欄。 我想在窗體加載時自動聚焦到網格視圖的第一個單元格。
問題是:加載表單時,它將自動聚焦在網格的查找面板中,而不是網格單元中。
我嘗試這樣,但沒有用。 幫助,謝謝大家。
private void gcStockDelivery_Load(object sender, EventArgs e)
{
BeginInvoke(new MethodInvoker(() =>
{
gvStockDelivery.FocusedColumn = gcBarCode;
gvStockDelivery.ShowEditor();
}));
}
在FormLoad()之后選擇其他控件的代碼
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
txtPurchaseOrder.BeginInvoke(new Action(() =>
{
txtPurchaseOrder.Select();
}));
}
當“查找面板”在“表單加載”上可見時,它始終處於焦點狀態,因此您必須手動更改焦點。 您已向我們顯示了代碼,以便更改另一個控件。 如果選擇網格本身作為控件,然后自定義剛剛選擇的GotFocus事件,該怎么辦? 您可以嘗試此代碼
這是您的第一個習慣:
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
yourGridControl.BeginInvoke(new Action(() =>
{
yourGridControl.Select();
}));
}
這是您的第二個習慣:
private void yourGridControl_GotFocus(Object sender, EventArgs e) {
GridView gridView1 = Me.ViewCollection.Item(0)
gridView1.FocusedColumn = gridView1.VisibleColumns(0)
gridView1.FocusedRowHandle = 0
}
抱歉回復晚了。 我對XtraGrid AutoFilterRow聚焦感到很高興
有用。
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
gcDamageItems.BeginInvoke(new Action(() =>
{
gcDamageItems.ForceInitialize();
gvDamageItems.MoveFirst();
gvDamageItems.FocusedColumn = gvDamageItems.VisibleColumns[0];
gvDamageItems.ShowEditor();
}));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.