data fra windwos form til windowsform?

Tags:    c#

Hej

Nogen som ved hvordan jeg sender data fra en åben windowsform til en anden åben windowsform

er det noget med ActiveForm?

Vh Silas



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Der er mange måder at håndtere den problemstilling på. Hvis du fortæller os lidt mere konkret hvad du gerne vil opnå, kan vi sikkert komme med et mere konkret svar :)

Mvh.

Kasper (TSW)





Hej Silas,

Prøv at vise os din kode til programmet som åbner begge windows forms. Så vil du få et præcist svar hurtigt.

Og hvis du mente imellme 2 forskellige programmer, så tvivler jeg på at mange fil kunne lære dig hvordan. I hvert fald uden kendskab til programmet du vil manipulere.

Med venlig hilsen
Ieet




Hej

når man fra formen "opret_kursus" klikker tilføj dato kommer der et nyt vindue frem ("opret_tur" o_d_start.show), hvor man kan vælge en dato, og når man har valgt den i listboxen kan man overfør den til oversigt("opret_kursus"), og datoen bliver overført til det tidligere vindue, hvor o_d_start.show blev aktiveret fra og som er åbent, man kan således foresætte med at tilføje til man er tilfreds og bruge begge vinduer aktivt.

Her er knappen på formen "opret_kursus" og som laver en ny form af "opret_tur"

private void button1_Click(object sender, EventArgs e)
{


_kursusID = maskedTextBox1.Text;

opret_tur o_d_start = new opret_tur(monthCalendar1.SelectionStart, monthCalendar2.SelectionStart, min, max, _kursusID);

o_d_start.Show();

}

Jeg har ikke lavet knappen på opret_tur som sender dataer tilbage til opret_kursus endnu..





Hej Silas,

Jeg antog at det var noget helt andet du ville.

http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx

Med venlig hilsen
Ieet



Hej

tak for artiklen, jeg synes det ikke at jeg kan finde nogle steder hvor den beskriver hvad man skal når man vil have dater tilbage igen. Altså ikke kun fra form 1 til form 2 men også efterfølgende fra from 2 til 1.

Vh Silas



Har lavet fået lavet denne løsning som virker

// form 1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace test_data
{
public partial class Form1 : Form
{
private List<string> navne;

public Form1()
{
InitializeComponent();

navne = new List<string>();
navne.Add("Silas");
navne.Add("Anders");
navne.Add("Hans");

PublishData();
}

public void PublishData()
{
listBox2.Items.Clear();

foreach (string navn in navne)
{
listBox2.Items.Add(navn);
}
}

private void button1_Click(object sender, EventArgs e)
{
Form2 start_form2 = new Form2(navne, this); // "this" er en reference til "current object" - dvs. en Form1 instans
start_form2.Show();
}
}
}


Form 2


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace test_data
{
public partial class Form2 : Form
{
private List<string> navne = new List<string>();
private Form1 form1;

/// <summary>
/// Lav en ny instans af Form2 klassen
/// </summary>
/// <param name="navne">Listen med navne</param>
/// <param name="form1">En instans af Form1. I vores tilfælde er det simpelt. Vi kalder Form2 fra Form1 og sender den
/// med over direkte.</param>
public Form2(List<string> navne, Form1 form1)
{
InitializeComponent();

this.navne = navne;
this.form1 = form1; // Vi gemmer en reference til den Form1 der kører i baggrunden, mens vi kigger på Form2.
// Derved kan vi bl.a. opdatere data i den (som vi gør nu). Der er også andre muligheder.

PublishData(); // Put listen med navne i listbox'en
}

private void button2_Click(object sender, EventArgs e)
{
navne.Add(textBox1.Text);
textBox1.Clear();

PublishData();
}

private void PublishData()
{
listBox2.Items.Clear();

foreach (string et_navn in navne)
{
listBox2.Items.Add(et_navn);
}
}

private void foerTilbageKnap_Click(object sender, EventArgs e)
{
form1.PublishData(); // Opdater dataen i den "gamle" form, via den reference vi sendte over i konstruktoren.
this.Close(); // Luk den form vi kigger på nu.
}

private void Form2_Load(object sender, EventArgs e)
{

}

}
}




Indlæg senest redigeret d. 04.05.2008 14:54 af Bruger #13662
t