触发DataGridView的CellClick事件

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8.   
  9.   
  10. namespace WindowsFormsApplication2  
  11. {  
  12.     public partial class Form1 : Form  
  13.     {  
  14.         public Form1()  
  15.         {  
  16.             InitializeComponent();  
  17.         }  
  18.   
  19.   
  20.         private void Form1_Load(object sender, EventArgs e)  
  21.         {  
  22.             DataTable dt = new DataTable();  
  23.             dt.Columns.Add("ID");  
  24.             dt.Columns.Add("Name");  
  25.             dt.Columns.Add("Age");  
  26.             for (int i = 0; i < 5; i++)  
  27.             {  
  28.                 dt.Rows.Add();  
  29.                 dt.Rows[i][0] = i;  
  30.                 dt.Rows[i][1] = i.ToString() + "Name";  
  31.                 dt.Rows[i][2] = (i + 1) * 5;  
  32.             }  
  33.   
  34.   
  35.             dataGridView1.DataSource = dt;  
  36.         }  
  37.   
  38.   
  39.         //第一个参数是第几列的意思,第二个参数是第几行的意思。    
  40.         //所有的参数是以0开始的。   
  41.         private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)  
  42.         {  
  43.             MessageBox.Show(e.RowIndex.ToString() + ":" + e.ColumnIndex.ToString());  
  44.         }  
  45.   
  46.   
  47.         private void button1_Click(object sender, EventArgs e)  
  48.         {  
  49.             //dataGridView1_CellClick(dataGridView1, new DataGridViewCellEventArgs(1, 2));  
  50.             dataGridView1_CellClick(dataGridView1, new DataGridViewCellEventArgs(dataGridView1.SelectedCells[0].ColumnIndex, dataGridView1.SelectedCells[0].RowIndex));  
  51.         }  
  52.     }  
  53. }  

转载于:https://www.cnblogs.com/YuanDong1314/p/9189767.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在WinForm中,当点击DataGridView的特定按钮事件时,可以通过判断所点击的列是否为DataGridViewButtonColumn来执行相应的操作。可以使用以下代码来实现这个功能: ```csharp private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e) { if (dataGridView2.Columns[e.ColumnIndex is DataGridViewButtonColumn && e.RowIndex >= 0) { // 在这里执行点击事件的逻辑 // 比如根据按钮所在行的数据进行相关的操作 } } ``` 另外,在WinForm中绑定DataGridView的数据源可以使用DataTable。可以通过以下代码来实现: ```csharp DataTable dt = new DataTable("joch"); dt.Columns.Add("A"); dt.Columns.Add("B"); dt.Columns.Add("C"); dt.Rows.Add(1, 1, 1); dt.Rows.Add(2, 2, 5); dt.Rows.Add(3, 3, 4); dataGridView1.DataSource = dt; ``` 需要注意的是,在绑定数据源之前,要先设置DataGridView的DataMember属性为空。如果不这样做,可能会导致多次触发DataBindingComplete事件。所以可以按照以下顺序操作: ```csharp if (dataGridView1.DataSource == null) { dataGridView1.DataMember = dt.TableName; } dataGridView1.DataSource = dt; ``` 这样就可以避免多次触发DataBindingComplete事件。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [如何给WinForm的dataGridView控件的表格中添加按钮并添加点击事件](https://blog.csdn.net/Andrewniu/article/details/90698381)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [WinForm中dataGridView事件DataBindingComplete触发多次原因](https://blog.csdn.net/jochzhu/article/details/79270302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值