Listbox control
-
I have listbox control which is multiextended Now i want to go to some of the values of listbox which are pre known say item[0] item[3] and item[6] and check wether they are selected or not
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
-
I have listbox control which is multiextended Now i want to go to some of the values of listbox which are pre known say item[0] item[3] and item[6] and check wether they are selected or not
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
You can get selected items by Listbox.SelectedItems property and then choose if it contains any of the items you are interested in.
#region signature my articles #endregion
-
I have listbox control which is multiextended Now i want to go to some of the values of listbox which are pre known say item[0] item[3] and item[6] and check wether they are selected or not
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
Generally You can use this.listBox1.SelectedItems orthis.listBox1.SelectedIndices properties for retrieving selected items one of the solutions would be check the collection from SelectedIndeices property to see wether your desired indices are selected or not
System.Windows.Forms.ListBox.SelectedIndexCollection indices = this.listBox1.SelectedIndices; if (indices.Contains(0) && indices.Contains(3) && indices.Contains(6)) //are selected
but more alghoritmic way is
bool CheckIsSelected(int\[\] desiredIndices) { System.Windows.Forms.ListBox.SelectedIndexCollection indices = this.listBox1.SelectedIndices; bool selected = true; foreach (int index in desiredIndices) if (!indices.Contains(index)) { selected = false; break; } if (selected) return true; return false; }
good luck
-
You can get selected items by Listbox.SelectedItems property and then choose if it contains any of the items you are interested in.
#region signature my articles #endregion
I have to go through certain items and perform action on them dependinng upon wether they are selected or not selected i am performing action in both cases
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
-
I have to go through certain items and perform action on them dependinng upon wether they are selected or not selected i am performing action in both cases
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
So what's the problem? If you have one array of items you should go through, you can get selected items by ListBox.SelectedItems, then iterate over your items array and check if it is in the selected items. You can use Contains method to do that
#region signature my articles #endregion
-
Generally You can use this.listBox1.SelectedItems orthis.listBox1.SelectedIndices properties for retrieving selected items one of the solutions would be check the collection from SelectedIndeices property to see wether your desired indices are selected or not
System.Windows.Forms.ListBox.SelectedIndexCollection indices = this.listBox1.SelectedIndices; if (indices.Contains(0) && indices.Contains(3) && indices.Contains(6)) //are selected
but more alghoritmic way is
bool CheckIsSelected(int\[\] desiredIndices) { System.Windows.Forms.ListBox.SelectedIndexCollection indices = this.listBox1.SelectedIndices; bool selected = true; foreach (int index in desiredIndices) if (!indices.Contains(index)) { selected = false; break; } if (selected) return true; return false; }
good luck
it's not showing "SelectedIndexCollection" after System.Windows.Forms.ListBox. i am using .net1.1
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
-
it's not showing "SelectedIndexCollection" after System.Windows.Forms.ListBox. i am using .net1.1
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
I compiled in VS2003 (.NET1.1) and it is working ,may be it's the intellisense bug because I installed a plugin (Resharper) and don't use intellisense of VisualStudio and it showing it to me just write it and see it would compile or not i'm sure it would compile :) good luck
-
it's not showing "SelectedIndexCollection" after System.Windows.Forms.ListBox. i am using .net1.1
Ankit Aneja "Nothing is impossible. The word itself says - I M possible"
Here is the complete code
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;namespace ListBoxTest
{
/// /// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button button1;
/// /// Required designer variable.
///
private System.ComponentModel.Container components = null;public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.listBox1 = new System.Windows.Forms.ListBox(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // listBox1 // this.listBox1.Items.AddRange(new object\[\] { "1", "2", "3", "4", "5", "6", "7"}); this.listBox1.Location = new System.Drawing.Point(144, 24); this.listBox1.Name = "listBox1"; this.listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; this.listBox1.Size = new System.Drawing.Size(352, 225); this.listBox1.TabIndex = 0; this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1\_SelectedIndexChanged); // // button1 // this.button1.Location = new System.Drawing.Point(144, 272); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(352, 24); this.button1.TabIndex = 1; this.button1.Text = "button1"; this.button1.Click += new System.EventHandler(this.button1\_Click); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(632, 446); this.Controls.Add(this.button1); this.Co