Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# Skype
can somebody please guide me how to generate an event if the date in list box is changed
 
I am filling the list with all the online users on skype using sky4com library. If a new user comes online i want to update my form and display the new online user too in the listbox. Thanks in advance for any help.
 
  
using SKYPE4COMLib;
using System.Runtime.InteropServices;
 
 List<string> online_users = new List<string>();
 IEnumerable<SKYPE4COMLib.User> users;
 

Update_listbox();
            listBox1.DataSource = online_users;
 

 
        public void Update_listbox()
        {
            users = skype.Friends.OfType<SKYPE4COMLib.User>();
 
            users
                .Where(u => u.OnlineStatus == TOnlineStatus.olsOnline)
                .OrderBy(u => u.Handle)
                .ToList()
                .ForEach(u =>  online_users.Add(u.Handle));
            Update();
           
        }
Posted 11-Jul-13 1:15am
Edited 11-Jul-13 1:17am
v2
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

The event should not get generated by the ListBox but some underlying logic. Bind the ListBox to a BindingList[^] instead of a List. Any changes to the list will get displayed without the Update() call.
 
However, you still need the method known as Update_listbox(). Just name it according to its purpose: changing your bound online users list.
 
And then again, you need to call it. How is it called now? Does the skype4com library provide an event?
 
As a last resort, there's always a Timer (or this, or that) to poll the data.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.150327.1 | Last Updated 11 Jul 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100