如何在C#中选择特定的ButtonColumn

时间:2016-11-03 09:29:23

标签: c# button datagridview

我有2种颜色的DataGridView:RED和ForestGreen,以及CELL' Check-Out'(我将它设为ButtonColumn。

enter image description here

当我点击任何CELL Ceck-OUT按钮时,我有:

enter image description here

这是代码:

 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {

        if (MessageBox.Show("Check-out?",
                       "Message de confirmation",
                       MessageBoxButtons.YesNo) == DialogResult.Yes)
        {  // non

            MessageBox.Show("Opération éffectuée");
        }

但是当我点击有红色的CELL按钮时,我想要jsut!

我试试这段代码:

 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
   {
       foreach (DataGridViewRow dr in dataGridView1.Rows)
       {
           if (dataGridView1.DefaultCellStyle.BackColor == Color.Red)
           {

               if (MessageBox.Show("Check-out?",
                              "Message de confirmation",
                              MessageBoxButtons.YesNo) == DialogResult.Yes)
               {  // non

                   MessageBox.Show("Opération éffectuée");
               }
           }
       }

我什么都没有!

我该如何解决?

谢谢,

1 个答案:

答案 0 :(得分:0)

试试这个:

   private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            // must selected row first
            if (dataGridView1.SelectedRows.Count == 0)
                return;

            // not support multiple rows select
            if(dataGridView1.SelectedRows[0].DefaultCellStyle.BackColor == Color.Red)
            {
                if (MessageBox.Show("Check-out?",
                                  "Message de confirmation",
                                  MessageBoxButtons.YesNo) == DialogResult.Yes)
                {  // non

                    MessageBox.Show("Opération éffectuée");
                }
            }        
        }