Ich versuche, die Daten aus einem Datagridview-Wert in Form1 in ein Textfeld in Form2 zu ziehen.So ziehen Sie Daten aus Datagridview in das Textfeld eines anderen Formulars
Form 1;
public string xxx;
public string GetX()
{
return xxx;
}
private void addADocumentToolStripMenuItem_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows != null)
{
xxx = dataGridView1.CurrentRow.Cells["Name"].Value.ToString();
AddDocumentForm adf = new AddDocumentForm();
adf.ShowDialog();
}
else
{
MessageBox.Show("Please choose a record.");
return;
}
}
In Formular 2 versuchen, den Wert xxx in Textfeld zu ziehen;
using (Form1 f= new Form1())
{
string result= f.GetX();
txtSavedDocumentID.Text = result;
}
Im Grunde versuche ich, den Wert von datagridview Zeile zu einer Variablen auf Form1 zu erhalten, dann möchte ich diesen Wert in Form2 verwenden, wenn ich es öffne. –
Ja, so habe ich es verstanden. Aber auf Form2 erstellen Sie eine ** neue ** Form2-Instanz - was bedeutet, was Sie in der Hand haben, ist dann ein vollständig "leeres" Form2. Es ist nicht dieselbe Instanz, die Sie am wahrscheinlichsten erstellt und dem Benutzer früher gezeigt haben. Sie können dies versuchen, um zu verstehen, was ich meine: auf Form2, innerhalb Ihrer Using-Anweisung, zeigen Sie das Form1 auf dem Bildschirm von 'f.Show()' - Sie sehen ein völlig neues Fenster erscheint, die nichts mit dem zu tun hat Von 1 wollten Sie Ihre Variable abholen. Es ist ein anderes Fenster! –
Leider habe ich bemerkt, dass ich die Forms-Namen gemischt habe: Mein erster Satz sollte sein: Aber auf Form2 erstellst du eine neue ** Form1 ** -Instanz - was bedeutet, dass du eine komplett "leere" Form1 hast ** . –