DataGridView點擊空白處和失去焦點後取消選擇和關閉預設選擇第一行C#Winform

來源:互聯網
上載者:User

標籤:svi   紅色   open   dex   ble   getc   orm   .com   ima   

預設選擇第一行,可以通過表單的Load事件中調用Datagridview的ClearSelection來取消選擇

也可以設定

Datagridview的CurrentCell = null;

還可以將已經選中的行的 dgv.Row[0].Selected=false;

 

 

那麼如何讓使用者點擊箭頭所指地區 就取消選擇呢?

 

需要在DataGridView的MouseDown或者MouseClick事件內處理

DataGridView dgv = sender as DataGridView;
DataGridViewRow clickedRow = GetClickedRow(dgv, e.Y);
if (clickedRow == null)
{
dgv.ClearSelection();
}

GetClickedRow的實現如下
public DataGridViewRow GetClickedRow(DataGridView dgv, int mouseY)        {            if (dgv.FirstDisplayedScrollingRowIndex < 0)            {                return null;            }            if (dgv.ColumnHeadersVisible == true && mouseY <= dgv.ColumnHeadersHeight)            {                return null;            }            int index = dgv.FirstDisplayedScrollingRowIndex;            int displayedCount = dgv.DisplayedRowCount(true);            for (int i = 1; i <= displayedCount; )            {                if (dgv.Rows[index].Visible == true)                {                    Rectangle rect = dgv.GetRowDisplayRectangle(index, true);                    if (rect.Top <= mouseY && mouseY < rect.Bottom)                    {                        return dgv.Rows[index];                    }                    i++;                }                index++;            }            return null;        }
View Code

 


這樣做好後 點擊紅色方框內的地區,就會取消選中的行了


如何在控制項失去焦點後(比如去點擊別的DataGridView的時候) 當前這個控制項失去焦點 取消選擇
private void dgtWaybillAccountDetialDgv_Leave(object sender, EventArgs e)        {            DataGridView dgv = sender as DataGridView;            dgv.ClearSelection();        }

 

DataGridView點擊空白處和失去焦點後取消選擇和關閉預設選擇第一行C#Winform

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.