【问题标题】:Transport Data Within TabControls在 TabControls 内传输数据
【发布时间】:2014-03-21 18:05:51
【问题描述】:

我有一个TabControl,有两页,tabPage1tabPage2。两个页面都有数据库连接和操作。

问题:

tabPage1DataGridView 面板上显示用户记录(工作)。我希望能够单击DataGridView 中的记录并让程序在tabPage2's textBoxes/comboBoxes 上显示记录的详细信息。

单击或双击DataGridView 中的一行时,如何显示tabPage2 上的记录?? (我可以使用表单页面来实现这一点,但不能使用TabControl

【问题讨论】:

  • WPF,Winforms?你使用的显示技术会影响这个问题的答案。
  • 我试图让您的帖子更具可读性,请随时查看。我对 WinFrom DataGridView 不够熟悉,无法提供帮助,但我相信有人会来!
  • 您只想将数据从一个页面传输到另一个页面??
  • 是的,将 tabPage1 上的 datagridview1 读取到 tabPage2 文本框/组合框
  • 有人不知道吗?

标签: c# winforms tabpage


【解决方案1】:

只需使用 RowEnter 事件来更新 TextBox 的 Value:

public Form1() {
  InitializeComponent();
  dataGridView1.RowEnter += dataGridView1_RowEnter;
}

void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e) {
  var cellValue = dataGridView1.Rows[e.RowIndex].Cells[0].Value;
  if (cellValue != null) {
    textBox1.Text = cellValue.ToString();
  } else {
    textBox1.Text = string.Empty;
  }
}

这些控件位于不同的 TabPage 中这一事实并不重要。如果在设计器中添加了这些控件,那么您应该可以直接访问这些控件。

如果您在运行时添加这些控件,那就另当别论了...

【讨论】:

  • 谢谢,但我解决了 datagridviews RowHeaderDoubleClick 事件的问题。我写了事件 tabControl1.selectedPage=tabPage2; :))
  • @paradoxIST 你确实意识到你在谈论你没有向我们展示的代码?等等,所以你的问题是关于切换标签的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 2018-10-15
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多