myesn

myEsn2E9

hi
github

[待整理] Windows Forms Key Points

一般来说只有创建控件的线程才能访问控件,否则会造成死锁、资源竞争、挂起或暂停的问题,跨线程访问 UI 控件应采用 thread-safe 的方式,微软介绍了两种方式:How to make thread-safe calls to controls (Windows Forms .NET)

**DataGridView 滚动时的闪烁 (flicker)** 问题:How to prevent DataGridView from flickering when scrolling horizontally? - Stack Overflow

DataGridView 频繁使用 Refresh () 会导致右侧滚动条变成黑色不可用状态,这时就不能依靠 Refresh () 来重绘控件,可以通过重新绑定 DataSource:

// 使用 thread-safe 的方式跨线程访问 UI 控件
dataGridView1.Invoke(() =>
{
    dataGridView1.DataSource = null;
    dataGridView1.DataSource = _dataTable;
});
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。