Bonjour,
Pour ton problème, voici la form1.
Contient un textbox et 1 bouton
txtResultat va afficher ce que la form 2 contient
btnChoisir va ouvrir la 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
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnChoisir_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.ShowDialog();
if (frm2.DialogResult == DialogResult.OK)
{
txtResultat.Text = frm2.m_sCle;
frm2.Dispose();
}
}
}
}
et voici la form 2
Contient 1 Textbox et 1 bouton aussi
txtCle l'Utilisateur entre la clé qu'il veut, dans ton cas c'est un listbox.
btnValider envois un message terminer a la form 1 et affecte le membre m_sCle la valeur du TxtCle
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
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void btnValider_Click(object sender, EventArgs e)
{
String l_sCle = txtCle.Text;
if (l_sCle != "") // "" et non null
{
m_sCle = l_sCle;
}
}
public String m_sCle;
}
}
Dans la form2 en mode design, j'ai ajouté à la propriété de mon bouton Valider, DialogResult Valeur OK.
En déclarant frm2 dans ta form 1 tu créer la form ainsi que son membre public m_sCle:
m_ member, s String
Alors quand tu cliques sur Valider il envoie le message DialogResult == OK
Lorsque c'est fait, tu récupères la valeur dans m_sClé.
Puis cette valeur dans frm1 est affiché dans mon exemple dans le txt Résultat.
le code est assez explicite puisqu'il est cours, tu ne devrais pas avoir de problème