我在寻找什么形式?在表中显示包含事件的数据

时间:2012-01-24 17:26:18

标签: c# winforms

这里的总菜鸟,只是在玩C#(这非常酷)。

无论如何,我需要在表格中显示一些信息。我必须能够使用代码动态地设置行和列的内容,并且表中的一个字段必须在C#中触发事件。

Filename #1         Click here to download
Filename #2         Click here to download

你明白Click here to download应该在C#中触发一个事件。我在寻找什么样的表格类型?我几乎看了所有这些,但我无法弄清楚哪一个最适合这个。

使用“Windows窗体应用程序”btw。

2 个答案:

答案 0 :(得分:2)

DataGridView控件基本上就是你所描述的。 DataGridView具有LinkColumn类型,其行为类似于HTML链接。您只需处理CellContentClick事件并确定用户点击了哪个单元格:

public Form1() {
  InitializeComponent();

  dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() { ReadOnly = true });
  dataGridView1.Columns.Add(new DataGridViewLinkColumn());

  dataGridView1.Rows.Add(1);
  dataGridView1.Rows[0].Cells[0].Value = "File #1";
  dataGridView1.Rows[0].Cells[1].Value = "Click here";

  dataGridView1.CellContentClick += new DataGridViewCellEventHandler(dataGridView1_CellContentClick);
}

void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {
  if (e.ColumnIndex == 1) {
    MessageBox.Show("Downloading " + dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
  }
}

答案 1 :(得分:0)

您可能需要查看ListView。它们提供了一种显示元素表和收听点击事件的方法。