c# – 有时向下键不能在DataGridView上运行

c# – 有时向下键不能在DataGridView上运行,第1张

概述有时向下键不能在DataGridView上运行. 我不知道为什么,特别是它很奇怪,因为没有代码分配给DataGridView的键的事件… SelectionMode is FullRowSelect Multiselect is False 这段代码没有帮助…… private void dataGridView1_PreviewKeyDown(object sender, reviewKeyDo 有时向下键不能在DataGrIDVIEw上运行.

我不知道为什么,特别是它很奇怪,因为没有代码分配给DataGrIDVIEw的键的事件…

SelectionMode is FullRowSelect

Multiselect is False

这段代码没有帮助……

private voID dataGrIDVIEw1_PrevIEwKeyDown(object sender,revIEwKeyDownEventArgs e)            {                switch (e.KeyCode)                {                    case Keys.Down:                        e.IsinputKey = true;                        break;                    case Keys.Up:                        e.IsinputKey = true;                        break;                }            }  private voID dataGrIDVIEw1_KeyDown(object sender,KeyEventArgs e)        {            if (e.KeyData == Keys.Down)            {                e.Handled = true;            }            else if (e.KeyData == Keys.Up)            {                e.Handled = true;            }        }

任何线索?

附:

似乎SelectionChanged方法做了一些艰苦的工作……所以当我禁用它时,eberything很好.

private voID dataGrIDVIEw1_SelectionChanged(object sender,EventArgs e){    // Some hard work}

所以问题是如何优化它.

我假设使用Timer,所以当用户停止选择箭头键1秒后
应该执行SelectionChanged方法的代码.

关于最佳方法的任何线索?

解决方法 不知何故,在执行SelectionChanged期间,网格失去了焦点.
可能它正在发生,因为在飞行中创建和插入用户控件.

所以我做了三次调整,现在很好!

bool canDoHarDWork = true; private voID dataGrIDVIEw1_SelectionChanged(object sender,EventArgs e)        {            if (canDoHarDWork)            {                int interval = 2000; // Just 2 seconds                Task.Factory.StartNew(() =>                {                    canDoHarDWork= false;                    Thread.Sleep(interval);                    this.BeginInvoke((Action)(() =>                    {                                                 PopulateTabs(); // Very hard work                        dataGrIDVIEw1.Focus();                        canDoHarDWork= true;                    }),null);                });            }        }
总结

以上是内存溢出为你收集整理的c# – 有时向下键不能在DataGridView上运行全部内容,希望文章能够帮你解决c# – 有时向下键不能在DataGridView上运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存