簡體   English   中英

以編程方式單擊DataGridView C#中的行標題

[英]Programmatically Click Row Header in DataGridView C#

我正在到處搜索代碼,以在處理了某些代碼序列之后以編程方式單擊特定的DataGridView行標題。

我發現的所有內容都可以選擇或突出顯示行,列或單元格; 但到目前為止沒有任何信息單擊行標題,即。 發射

private void dgvMyGrid_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) {}

方法。

任何幫助,將不勝感激。

解決方案取決於您要實現的目標。

正如Tzah Mama所寫,僅以最簡單的方式使dgvMyGrid_RowHeaderMouseClick中的代碼運行,就足以編寫:

dgvMyGrid_RowHeaderMouseClick(null, null);   

注1:重要的是在事件代碼中添加一條注釋,以記錄可以通過這種特殊而不正常的方式調用它。 特別是因為它不提供代碼可能期望的參數。

注意2:如果您的代碼需要一些參數,則可以嘗試提供它們:

  • 簡單地將sender提供為dgvMyGrid是微不足道的
  • 如果您不是在編碼DataGridView實例,而是在編寫繼承的類,則只需使用this替換dvg名稱

  • 第二個參數很復雜,並非所有部分都可以輕松提供,但也可能不需要。

這是創建它的基本代碼:

int row = ??    // your target row
int col= -1;    // no column
int x = 0;      // no offsets..
int y = 0;      // ..
int delta = 0; // no mouse wheel

DataGridViewCellMouseEventArgs E = new DataGridViewCellMouseEventArgs(col, row, x, y,
                          new MouseEventArgs(MouseButtons.Left, clicks, x, y, delta));

注3:有時重要的是要知道事件是由真實的用戶操作還是由代碼調用的。 將參數保留為空是發出信號的一種簡單方法。 再次:關鍵是文檔

但是也許您需要單擊rowHeader的效果 根據SelectionMode,可能是行選擇。 調用腳本將無法正常工作! 相反,您還必須對select進行編碼:

 DGV1.Rows[row ].Selected = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM