首页 > 解决方案 > C# 用户在 DataGridView 中选择一个单元格不会触发 SelectionChanged 事件?

问题描述

我正在开发一个有两个 DataGrid 的 Windows 窗体。

我目前正在尝试这样做,以便在 DataGridView1 中选择一个单元格时,在 DataGridView2 中显示其他内容。

问题是当我运行我的应用程序时,选择任何一个单元格都不会做任何事情。

我试过使用

private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
MessageBox.Show("The selected cell has changed!");
};

检查并查看事件是否正在注册,并且没有发生任何事情。

DataGridView 的 SelectionMode 设置为 CellSelect。

我究竟做错了什么?

提前致谢。

标签: c#winformsdatagridview

解决方案


示例:-也检查一下

     private void datagridview1_SelectionChanged(object sender, EventArgs e)
     {
         if (datagridview1.SelectedCells.Count > 0)
         {
             int selectedrowindex = datagridview1.SelectedCells[0].RowIndex;

             DataGridViewRow selectedRow = datagridview1.Rows[selectedrowindex];  

              string a = Convert.ToString(selectedRow.Cells["you have to mention you cell  corresponding column name"].Value);           


         }
     }

使用这个并参考

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != null)
        {
           MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
        }
    }

其他

MessageBox.Show(dataGridView1.SelectedCells[0].Value.ToString());

也检查这个属性DataGridView1.FullRowSelect = true


推荐阅读