cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009
-
5 oct. 2009 à 20:39
cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009
-
7 oct. 2009 à 11:31
Bonjour,
J'ai un form dans lequel j'ai un menu avec
* charger la base de donnée
* Accès au deuxième form
Et une datagridview
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestCSharp2
{
public partial class Test : Form
{
public System.Windows.Forms.BindingSource customersBindingSource;
public Test()
{
InitializeComponent();
}
private void Test_Load(object sender, EventArgs e)
{
}
private void chargerToolStripMenuItem_Click(object sender, EventArgs e)
{
this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
}
private void deuxiemeFormToolStripMenuItem_Click(object sender, EventArgs e)
{
Test2 f2 = new Test2(this);
f2.Show();
this.Hide();
}
}
}
Mon deuxième form a 4 label avec 4 textBox et 4 boutons qui donne quelque chose comme
Label1 - textBox1
Label2 - textBox2
Label3 - textBox3
Label4 - textBox4
Bt1 - Bt2 - Bt3 - Bt4
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestCSharp2
{
public partial class Test2 : Form
{
Test _parent;
public Test2(Test form)
{
_parent = form;
InitializeComponent();
}
private void Test2_Load(object sender, EventArgs e)
{
this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", _parent.customersBindingSource, "CustomerID", true));
this.textBox2.DataBindings.Add(new System.Windows.Forms.Binding("Text", _parent.customersBindingSource, "CompanyName", true));
this.textBox3.DataBindings.Add(new System.Windows.Forms.Binding("Text", _parent.customersBindingSource, "ContactName", true));
this.textBox4.DataBindings.Add(new System.Windows.Forms.Binding("Text", _parent.customersBindingSource, "ContactTitle", true));
}
private void Test2_FormClosing(object sender, FormClosingEventArgs e)
{
_parent.Show();
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
_parent.customersBindingSource.MovePrevious();
}
private void button2_Click(object sender, EventArgs e)
{
_parent.customersBindingSource.MoveNext();
}
private void button3_Click_1(object sender, EventArgs e)
{
_parent.customersBindingSource.MoveFirst();
}
private void button4_Click_1(object sender, EventArgs e)
{
_parent.customersBindingSource.MoveLast();
}
}
}
la connexion se fait sans soucis,
je peux charger, choisir une ligne, afficher mon deuxième form avec les donner de ma ligne
et naviguer du premier au dernier et du précédent au suivant.
le hic ce produit lorsque je ferme mon deuxième form pour revenir au premier form.
là il me montre cette partie de code
et me dis que "L'exception InvalideOperation n'a pas été gérée"
comment faire pour revenir au premier form avec la ligne sur la quel je me suis arrêté dans le deuxième?
Merci de votre aide
Ensuite, dans ton cas bien précis, ce qui est envisageable, c'est qu'au niveau de ta 2e form tu t'abonnes à l'événement FormClosing et que dans la gestion de cet événement tu récupères l'id de la ligne sélectionnée que tu enverras à l'autre form grâce au passage de paramètres.
J'ai un peu la flemme de le faire en code là tout de suite, j'espère que j'ai été assez clair et que ça t'aidera ;-)
cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009 7 oct. 2009 à 09:44
Je dois dire que je ne vois pas ou tu veux en venir avec le FormClosing
Je n'ai rien déclarer dans mon Form 2 dans le quel stocker les données en cours d'utilisation.
Je n'utilise que les éléments du Form 1.
J'espère que la forme est revenue car je comprend mieux le code que des explications