Grupos de Google ya no admite nuevas publicaciones ni suscripciones de Usenet. El contenido anterior sigue siendo visible.

how to get count of items in listbox?

Visto 38 veces
Saltar al primer mensaje no leído

Alpha

no leída,
1 abr 2005, 19:47:021/4/05
a
Hi, How can I set all the items in a listbox to be selected? I can't find a
property or mehtod to do it so I thought I'll try using setselected method
but I need to find out how many items are in the listbox.

Thanks,
Alpha

Tim Wilson UNDERSCORE AT PERIOD

no leída,
1 abr 2005, 19:54:491/4/05
a
Something similar to the following code should do it.

for (int x = 0; x < this.listBox1.Items.Count; x++)
{
this.listBox1.SetSelected(x, true);
}

--
Tim Wilson
.Net Compact Framework MVP

"Alpha" <Al...@discussions.microsoft.com> wrote in message
news:82558283-9EE6-45E1...@microsoft.com...

Alpha

no leída,
1 abr 2005, 20:11:021/4/05
a
Very cool! Thank you so much again.
Have a great weekend!
Alpha

"Tim Wilson" wrote:

> Something similar to the following code should do it.
>
> for (int x = 0; x < this.listBox1.Items.Count; x++)
> {
> this.listBox1.SetSelected(x, true);
> }
>
> --
> Tim Wilson

> ..Net Compact Framework MVP

Fritz Switzer

no leída,
1 abr 2005, 22:01:111/4/05
a
The method above is good for a small number of items in the listbox, but if
you have many. (100,000) it is either too slow or doesn't work. Is there
any other way to accomplish the same thing, but may be faster.

TIA,

Fritz


"Alpha" <Al...@discussions.microsoft.com> wrote in message

news:6F1DD8BE-4F93-4B72...@microsoft.com...

Tim Wilson UNDERSCORE AT PERIOD

no leída,
1 abr 2005, 22:40:491/4/05
a
Try the following code.

this.listBox1.SelectionMode = SelectionMode.MultiExtended;

...

if (this.listBox1.Items.Count > 0)
{
this.listBox1.Focus();
this.listBox1.SetSelected(0, true);
SendKeys.Send("+{END}");
}

--
Tim Wilson
.Net Compact Framework MVP

"Fritz Switzer" <fritz....@abletfactory.com> wrote in message
news:%23f%2372AzN...@tk2msftngp13.phx.gbl...

Fritz Switzer

no leída,
2 abr 2005, 11:12:192/4/05
a
Tim,

Thanks, that was about "a gazillion" times faster. :)


Fritz

"Tim Wilson" <TIM(UNDERSCORE)WILSON(AT)ROGERS(PERIOD)COM> wrote in message
news:OHFaiWzN...@TK2MSFTNGP14.phx.gbl...

PP

no leída,
2 abr 2005, 11:23:022/4/05
a
Here is an solution, that we had implemented (sorry, it might sound stupid :-))
To the list box we added an item as follows
[ALL] <-- Represents user wants to select all item(s)
item1
item2....

Based on the selection, we did the apprpriate thing wthin the code

Thanks
PP

PP

no leída,
2 abr 2005, 11:47:022/4/05
a
Hi Tim

I tried this code, but doesn't seem to work. It does not SELECT all item(s),
it selects only the first item.

private void Form1_Load(object sender, System.EventArgs e)
{
listBox1.Items.Add ("Item-1") ;
listBox1.Items.Add ("Item-2") ;
listBox1.Items.Add ("Item-3") ;
listBox1.Items.Add ("Item-4") ;
listBox1.Items.Add ("Item-5") ;

this.listBox1.SelectionMode = SelectionMode.MultiExtended;


if (this.listBox1.Items.Count > 0)
{
this.listBox1.Focus();
this.listBox1.SetSelected(0, true);
SendKeys.Send("+{END}");
}
}


"Tim Wilson" wrote:

> Try the following code.
>
> this.listBox1.SelectionMode = SelectionMode.MultiExtended;
>

> ....


>
> if (this.listBox1.Items.Count > 0)
> {
> this.listBox1.Focus();
> this.listBox1.SetSelected(0, true);
> SendKeys.Send("+{END}");
> }
>
> --
> Tim Wilson

> ..Net Compact Framework MVP

Tim Wilson UNDERSCORE AT PERIOD

no leída,
2 abr 2005, 12:07:442/4/05
a
It has to do with setting focus and selections in the Load event, before the
Form is visible. To get around this, explicitly show the Form.

private void Form1_Load(object sender, System.EventArgs e)
{

// Do preparation work here.

for (int x = 0; x < 100; x++)
{
this.listBox1.Items.Add("Item" + x.ToString());
}

this.listBox1.SelectionMode = SelectionMode.MultiExtended;

this.Show();

// Do focused work here.

if (this.listBox1.Items.Count > 0)
{
this.listBox1.Focus();
this.listBox1.SetSelected(0, true);
SendKeys.Send("+{END}");
}
}

Alternatively, you could use the Activated event instead of Load. Just note
that the Activated event may fire multile times during the life span of the
Form, depending on what the user does. For example, if the Form loses focus
to another Form, the Activated event will fire again when the Form is
brought back to the foreground. So you would need to handle this by using a
flag that indicates the work you did in the Activated event at startup has
already been done and does not need to be done again.

--
Tim Wilson
.Net Compact Framework MVP

"PP" <P...@discussions.microsoft.com> wrote in message
news:5A2F0A98-2D16-4ACF...@microsoft.com...

PP

no leída,
2 abr 2005, 14:59:052/4/05
a
Sweet. That did the trick.

"Tim Wilson" wrote:

> It has to do with setting focus and selections in the Load event, before the
> Form is visible. To get around this, explicitly show the Form.
>
> private void Form1_Load(object sender, System.EventArgs e)
> {
> // Do preparation work here.
>
> for (int x = 0; x < 100; x++)
> {
> this.listBox1.Items.Add("Item" + x.ToString());
> }
>
> this.listBox1.SelectionMode = SelectionMode.MultiExtended;
>
> this.Show();
>
> // Do focused work here.
>
> if (this.listBox1.Items.Count > 0)
> {
> this.listBox1.Focus();
> this.listBox1.SetSelected(0, true);
> SendKeys.Send("+{END}");
> }
> }
>
> Alternatively, you could use the Activated event instead of Load. Just note
> that the Activated event may fire multile times during the life span of the
> Form, depending on what the user does. For example, if the Form loses focus
> to another Form, the Activated event will fire again when the Form is
> brought back to the foreground. So you would need to handle this by using a
> flag that indicates the work you did in the Activated event at startup has
> already been done and does not need to be done again.
>
> --
> Tim Wilson

> ..Net Compact Framework MVP

0 mensajes nuevos