![](/img/trans.png)
[英]I want to programmatically generate a click on a DataGridView Row in 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.