如何将DataGridView选定的行值以另一种形式传递给TextBox?

赛勃·菲尔

我在.NET 4.5.2上使用Windows窗体。我有2种表格。Form1具有一个DataGridView,其中包含来自数据库的字段,以及一个单击时显示Form2的按钮。Form2具有一个TextBox。当我单击Form1中的按钮时,我想用Form1 DataGridView字段之一的文本填充它。可能吗?Form2文本框修改器设置为public,但仍无法使用。

我试过了:

private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    Form2 fr = new Form2();
    int row = DataGridView1.CurrentRow.Index;
    fr.Textbox1.Text = Convert.ToString(DataGridView1[0, row].Value);
    fr.Textbox2.Text = Convert.ToString(DataGridView1[1, row].Value);    
}

private void button1_Click(object sender, EventArgs e)
{
    Form2 fr = new Form2();
    fr.ShowDialog();  
}
处置16

存在问题是因为您使用ShowDialog()而不是方法Show()有关堆栈溢出的答案

Show函数以非模式形式显示表单。这意味着您可以单击父表单。

ShowDialog以模态形式显示表单,这意味着您无法转到父表单。

以某种方式与将值从一种形式传递到另一种形式发生交互,我认为这是因为第一种形式在ShowDialog()方法之后被阻塞(暂停),因此阻止了您从DataGridView复制值。

如果您ShowDialog()故意使用方法,则可以尝试以某种方式绕过此限制。例如,我设法通过使用Owner属性(也请选中此答案)和Form.Shown事件,将所需的值从DataGridView传递到新创建的Form中的TextBox(也称为Form2)中您可以尝试在button1_Click事件处理程序中用这段代码替换代码(或者可能只是使用Form2类在文件中创建Shown事件处理程序):

Form2 fr = new Form2();
int row = DataGridView1.CurrentRow.Index;
fr.Shown += (senderfr, efr) => 
{
    // I did null check because I used the same form as Form2 :) 
    // You can probably omit this check.
    if (fr.Owner == null) return;

    var ownerForm = (Form1)fr.Owner;
    fr.Textbox1.Text = ownerForm.DataGridView1[0, row].Value.ToString();
    fr.Textbox2.Text = ownerForm.DataGridView1[1, row].Value.ToString();
};
fr.ShowDialog(this);  

PS为什么您会像在示例中那样使用Convert.ToString()而不是简单地ToString()在Value属性上调用方法?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将单选按钮的值传递给另一种形式?

来自分类Dev

如何将值从一种形式传递到另一种形式的动态创建的控件

来自分类Dev

提交时如何将值从一种形式传递到另一种形式?

来自分类Dev

如何将值从一种方法传递给另一种方法

来自分类Dev

如何获取datagridview的行值,并使用同一行中的按钮将其传递给另一种形式

来自分类Dev

如何以另一种形式将 datetimepicker 的值传递给另一个 datetimepicker

来自分类Dev

如何将一个类的实例传递给另一种形式C#

来自分类Dev

如何将php变量传递给同一页面中的另一种形式?

来自分类Dev

将Datagridview值传递到VB.net中的另一种形式

来自分类Dev

如何将数据库文件名通过一种形式传递给另一种形式

来自分类Dev

如何在C#中同时将datagridview的多个单元格值从一种形式传递到另一种形式?

来自分类Dev

将 while 循环值传递给另一种形式

来自分类Dev

如何将变量从一种 qt 形式传递到另一种形式的 qt 形式?

来自分类Dev

将datagridview从一种形式传递到另一种c#

来自分类Dev

我如何将公共变量从一种形式传递到另一种形式

来自分类Dev

如何将代码生成的控件传递给另一种方法

来自分类Dev

如何将一种方法作为参数传递给另一种方法?

来自分类Dev

如何将一种方法的“自我”价值传递给另一种方法?

来自分类Dev

如何将数据从一种形式传递到另一种套件脚本

来自分类Dev

从一种形式到另一种形式检索DataGridView中的选定行/单元格值

来自分类Dev

将值从一种模型传递到另一种模型的形式

来自分类Dev

从另一种形式传递datagridview

来自分类Dev

将 datagridview 的检查值从一种形式转移到另一种形式 datagridview

来自分类Dev

Python Flask-如何将值从一种途径传递到另一种途径?

来自分类Dev

jQuery将选定的值从一种形式应用到另一种形式

来自分类Dev

VB.NET将值传递给另一种形式的最佳方法是什么?

来自分类Dev

将值传递给第二次不起作用的另一种形式

来自分类Dev

将数据从 DataGridView 中的列传递到另一种形式的组合框

来自分类Dev

如何从第一种形式的选定行中过滤另一种形式的表格?

Related 相关文章

  1. 1

    如何将单选按钮的值传递给另一种形式?

  2. 2

    如何将值从一种形式传递到另一种形式的动态创建的控件

  3. 3

    提交时如何将值从一种形式传递到另一种形式?

  4. 4

    如何将值从一种方法传递给另一种方法

  5. 5

    如何获取datagridview的行值,并使用同一行中的按钮将其传递给另一种形式

  6. 6

    如何以另一种形式将 datetimepicker 的值传递给另一个 datetimepicker

  7. 7

    如何将一个类的实例传递给另一种形式C#

  8. 8

    如何将php变量传递给同一页面中的另一种形式?

  9. 9

    将Datagridview值传递到VB.net中的另一种形式

  10. 10

    如何将数据库文件名通过一种形式传递给另一种形式

  11. 11

    如何在C#中同时将datagridview的多个单元格值从一种形式传递到另一种形式?

  12. 12

    将 while 循环值传递给另一种形式

  13. 13

    如何将变量从一种 qt 形式传递到另一种形式的 qt 形式?

  14. 14

    将datagridview从一种形式传递到另一种c#

  15. 15

    我如何将公共变量从一种形式传递到另一种形式

  16. 16

    如何将代码生成的控件传递给另一种方法

  17. 17

    如何将一种方法作为参数传递给另一种方法?

  18. 18

    如何将一种方法的“自我”价值传递给另一种方法?

  19. 19

    如何将数据从一种形式传递到另一种套件脚本

  20. 20

    从一种形式到另一种形式检索DataGridView中的选定行/单元格值

  21. 21

    将值从一种模型传递到另一种模型的形式

  22. 22

    从另一种形式传递datagridview

  23. 23

    将 datagridview 的检查值从一种形式转移到另一种形式 datagridview

  24. 24

    Python Flask-如何将值从一种途径传递到另一种途径?

  25. 25

    jQuery将选定的值从一种形式应用到另一种形式

  26. 26

    VB.NET将值传递给另一种形式的最佳方法是什么?

  27. 27

    将值传递给第二次不起作用的另一种形式

  28. 28

    将数据从 DataGridView 中的列传递到另一种形式的组合框

  29. 29

    如何从第一种形式的选定行中过滤另一种形式的表格?

热门标签

归档