【问题标题】:Passing data to Datagrid textbox in another form以另一种形式将数据传递到 Datagrid 文本框
【发布时间】:2012-04-18 08:21:54
【问题描述】:

当我双击 form1 中的文本框时,我打开了一个数据网格。我需要在 form2 中的 datagrid 单元格上单击两次,当我单击它时,它已经为 form1 中的文本框带来了价值。我尝试了许多不再有效的方法,他已经在我单击单元格之前自动在文本框中添加了值,有人可以帮忙吗?

我试过这个:

在表格1中

         Ncm Ncm formNcm = new ();
         formNcm.Show ();
         ncmcb.Text formNcm.getNCM = ();
         ncmcb.Focus ();

表格2

公共字符串getNCM() { = dataGridView1.CurrentCell.Value.ToString value2 string(); 返回值2; } 只有这样,它才会选择已经拥有数据网格的值并且我无法更改,如果我更改它不会采用 form1 中文本框的值

【问题讨论】:

  • 您能否进一步澄清一下,不幸的是很难理解您的意思:(
  • 我想以另一种形式将值传递给数据网格文本框
  • 所以你有Form1和Form2。从 form1 中,您打开 Form2 并希望传递一个值?另外,它是 Web 应用程序还是 Windows?
  • 是的,将值从form1传递到form2,必须从datagrid中选择数据并移动到另一个表单中的文本框。桌面应用程序是

标签: c#


【解决方案1】:

设计方面,一个表单应该从不知道其他表单有一个文本框或下拉菜单或其他一些控件。理想情况下,这两种形式应该通过公共属性或自定义事件进行交互。

将值从 Form2 分配给 Form1

  1. 在表单 2 中定义自定义事件。

  2. 使 Form1 向该事件注册,以便当 Form 2 触发它时,Form1 可以捕获它。

  3. 在 Form2 中捕获网格单元格单击事件并触发自定义事件。您将使用 EventArgs 来传递值。

  4. 在 Form1 中,事件处理程序应该开始运作,您可以在那里分配从 Form 2 发送的值。

这里有一篇文章正是这样做的:http://www.codeproject.com/Articles/17371/Passing-Data-between-Windows-Forms

如果你想从 Form2 给 Form1 赋值,

在表格 2 中,定义一个属性,例如。

publis string MyTextBoxValue //Choose a better name :)
{
     set {myTextBox.Text = value;}
}

当您打开表单时,您会按以下方式拨打电话,

     Ncm Ncm formNcm = new ();
     formNcm.MyTextBoxValue = "Grid Cell Value"; //Whatever your value is
     formNcm.Show ();
     ncmcb.Text formNcm.getNCM = ();
     ncmcb.Focus ();

【讨论】:

  • 几乎是这样,请参阅:form1 包含 ncmcb.Text,这就是我单击打开 form2 的位置。 form2包含了datagrid我要获取一个值并发送到form1中的ncmcb.Text,你知道吗?
  • 我明白了。所以 Form2 有网格单元格,该值需要分配给 Form 1。在这种情况下,您需要一个不同的解决方案。让我更新我的答案。
  • 你看过我提到的那篇文章了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
相关资源
最近更新 更多