DataGridView选定的行数据到主窗体

tdignan87

知名会员
已加入
2019年7月8日
留言内容
95
编程经验
Beginner
嗨,我有两种形式,主要形式加载,并有一个按钮。用户按下一个按钮,它将加载包含datagridview的第二个表单。用户在datagridview中选择该行,我希望它自动关闭并使用从dgv中选择的数据填充主窗体中的文本框。

我很熟悉传递数据,如果数据传递的形式也首先被关闭,因为实例还没有启动。我找到了youtube教程,但它们大多只是将datagridview数据传递给新表单。

有什么想法吗?谢谢
香港专业教育学院试图做一个构造函数方法,但我不知道我要去哪里错了。

谢谢
汤姆

1572384767863.png
 

羊皮

知名会员
已加入
2018年9月5日
留言内容
1,982
编程经验
10+
您忽略了提出一个具体问题。你的问题是什么?

您可能应该提供 相关的 您尝试过的代码,并解释其中的问题。
 

tdignan87

知名会员
已加入
2019年7月8日
留言内容
95
编程经验
Beginner
对不起
问题是

1.如何将所选单元格放在datagridview的其他表单文本框中。
例如,用户单击datagridview行,我想以其他形式将TESTING1例如显示在商品文本框中
 

tdignan87

知名会员
已加入
2019年7月8日
留言内容
95
编程经验
Beginner
C#:
            //   string strValue = this.dataGridView1.CurrentRow.Cells[0].ToString();
            Home homeShow = new Home();
            homeShow.SupplierTxtBox.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

我在单元格单击事件中具有此功能,因此它将当前行单元格值0传递到“主页”表单文本框。当然,Home窗体已经打开并且位于该窗体的后面,因此它不起作用(而且我理解为什么在启动新实例时它不起作用,但是我仍然坚持如何做到这一点 :)
 

跳伞者

工作人员
已加入
2019年4月6日
留言内容
2,605
地点
弗吉尼亚州切萨皮克
编程经验
10+
主要问题是您将以错误的方式进行此操作:
用户按下一个按钮,它将加载包含datagridview的第二个表单。用户在datagridview中选择该行,我希望它自动关闭并使用从dgv中选择的数据填充主窗体中的文本框。
您正在通过第二种形式更新主形式来破坏封装和Demeter法则。您想让主窗体从第二个窗体中提取值。

假设您具有以下条件:
C#:
class MainForm : Form
{
    :
    Textbox _txtFieldToBeFilled;
    :
    void btnOpenSecondForm_Click(...)
    {
        :
    }
}

class SecondForm : Form
{
    :
    DataGridView _dgvUserChoices;
    :
    public string ValueToBePulled { get; private set; }
    :
    void btnOk_Click(...)
    {
    }
}

Inside MainForm.btnOpenSecondForm_Click() you would have something like:
C#:
var secondForm = new SecondForm(dataThatSecondFormNeeds);
if (secondForm.ShowDialog() == DialogResult.OK)
    _txtFieldToBeField.Text = secondForm.ValueToBePulled;
and your SecondForm.btnOk_Click() wolud have something like:
C#:
ValueToBePulled = _dgvUserChoices.CurrentRow.Cells[0].Value.ToString();
DialogResult = DialogResult.OK;

现在,我需要回顾一下,但是我相信您以前曾告诉我们,您只是通过浏览随机的YouTube视频和博文来学习C#和WinForms。我真的很建议您不要花时间进行散弹式学习,而要花一些时间进行更结构化的研究。寻找一本好评如潮的书,从头到尾仔细阅读,而不是挑樱桃。
 
最佳 底部