将数据从一个表单显示为另一个表单中的标签

时间:2017-04-03 17:29:10

标签: c# winforms

我目前在将我传输的String数据从我的第一张表格显示到第二张表格时遇到问题。我尝试在第二个表单中放置一个按钮来检查数据是否已传输,并且我确认使用MessageBox.Show()命令传输了数据。但是,当我尝试将其分配给Label时,Label文字不会更改。这是我的示例代码:

First Form:点击dataGridView

中的单元格即可触发数据传输
    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        PopupSummary f = new PopupSummary();
        f.searchText = dataGridView1.CurrentRow.Cells[0].Value.ToString();
        this.Hide();
        f.ShowDialog();
        this.Show();
    }

第二表格:

     public string searchText = "";
private void PopupSummary_Load(object sender, EventArgs e)
        {
            label1.Text = searchText;
        }

注意:

label1位于tableLayoutPanel内。

我的主要问题是,即使数据已成功传输,label.Text也不会更改当前标签的文本。谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题是,您要将新文本分配到searchText而非分配给label1.Text。您将label1.Text分配给PopupSummary_Load的任何内容的唯一时间是表单加载,searchText,当您将其设置为searchText时。只需在之后更改f.label1.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); 的值,即不会导致标签文本更新。

现在你知道发生了什么,你可以做任何事情,但这里有一个简单的事情:

unordered_map<vector<int>, int>