1

7 列の datagridview を使用するプログラムがあります。列の 1 つは、指定した場所からファイルをロードするハイパーリンクです。「cellcontentclick」イベントを使用してファイルを開きます。私の問題は、行内の他のセルをクリックすると、まだ cellcontentclick が実行されることです。クリックしたときにその特定の列が実行される場合にのみ、そのようにするにはどうすればよいですか?

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            string sourcePath = @"SPECIFIED PATH";

            Process.Start(sourcePath + dataGridView1.Rows[e.RowIndex].Cells[5].Value);
        }

        catch (SqlException e)
        {
            MessageBox.Show("Error occured: " + e);
        }
    }
4

2 に答える 2

2

探している列のイベント ハンドラーのみを確認します。パラメータの 1 つ (e?) には列情報があります。

于 2013-03-27T17:11:20.380 に答える
1

とった!if ステートメントを入力して列を指定するだけで済みました。ありがとう、エフゲニル。

        if (e.ColumnIndex == 5 && e.RowIndex >= 0)
        {
            try
            {
                string sourcePath = @"PATH";

                Process.Start(sourcePath + dataGridView1.Rows[e.RowIndex].Cells[5].Value);
            }

            catch (SqlException a)
            {
                MessageBox.Show("Error occured: " + a);
            }
        }
于 2013-03-27T17:22:19.850 に答える