J'ai deux ListBox qui sont databound à la même BindingList. Le problème est que lorsque vous modifiez l'élément sélectionné à partir de l'interface graphique, il modifie la position dans BindingList, puis BindingList signale à l'autre ListBox de modifier l'élément sélectionné.Liaison C#: comment désactiver le CurrencyManager dans BindingList afin que la position de l'élément actuel ne soit pas maintenue et ne soit pas signalée?
J'ai donc les deux éléments sélectionnés ListBoxes également synchronisés ce qui n'est pas bon pour moi. Je souhaite conserver la liste des éléments en synchronisation. sans la position du curseur. Comment désactiver ce curseur pour qu'il ne soit pas conservé?
exemple de code (juste ajouter deux ListBoxes au formulaire au moment de la conception et enregistrer les événements SelectedIndexChanged et enregistrer le bouton événement de clic avec un bouton):
public partial class Form1 : Form
{
BindingList<string> list = new BindingList<string>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
list.Add("bla1");
list.Add("bla2");
list.Add("bla3");
this.listBox1.DataSource = list;
this.listBox2.DataSource = list;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedIndex != -1)
System.Diagnostics.Trace.WriteLine("ListBox1: " + listBox1.SelectedItem.ToString());
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox2.SelectedIndex != -1)
System.Diagnostics.Trace.WriteLine("ListBox2: " + listBox2.SelectedItem.ToString());
}
// Register this event to a button
private void button1_Click(object sender, EventArgs e)
{
list.Add("Test");
}
}
Merci, --Ran. La déclaration de listBox1 et de listBox2 comme étant du type suivant semble aboutir au comportement souhaité:
deux options: (1) ne pas combattre l'intention de conception du gestionnaire de devises et le faire d'une autre manière, ou (2) se familiariser intimement avec la façon dont le gestionnaire de devises fonctionne et trouver un moyen de contourner. bonne chance. –