【问题标题】:how can i select a row in datagridview when i press right mouse button? [duplicate]当我按下鼠标右键时,如何在 datagridview 中选择一行? [复制]
【发布时间】:2014-01-23 22:50:10
【问题描述】:

我有一个 form1,我的 datagridview 位于其中。我的 form2 有一个文本框,其中的值取自 form1 的 datagridview。我在我的datagridview 中插入了一个contextmenustrip,然后它将从选定的行中获取数据并将其传递给form2。我只在列表视图中做到了这一点。这就是我在列表视图中的做法

表格1:

private void viewToolStripMenuItem1_Click(object sender, EventArgs e)
{
 strinf dis = listView1.Items[listView1.FocusedItem.Index].SubItems[0].Text;
 int r = Convert.ToInt32(dis); 
 form2 nf2 = new form2(r);
 nf2.ShowDialog();
}

表格2:

public Form2(int g)
{            
 InitializeComponent();
 textBox1.text = g.ToString();                 
}

如何在 datagridview 中执行此操作?

【问题讨论】:

    标签: c# winforms datagridview contextmenustrip


    【解决方案1】:

    解决方案描述得很好here

    private void DataGridViewMouseDownHandler(object sender, MouseEventArgs e)
    {
        if(e.Button == MouseButtons.Right)
        {
            var hti = dataGridView.HitTest(e.X, e.Y);
            dataGridView.ClearSelection();
            dataGridView.Rows[hti.RowIndex].Selected = true;
        }
    }
    
    this.dataGridView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DataGridViewMouseDownHandler);
    

    【讨论】:

      猜你喜欢
      • 2010-10-18
      • 1970-01-01
      • 2011-01-05
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 2014-05-10
      • 2012-08-18
      相关资源
      最近更新 更多