tags:

views:

33

answers:

1

I have a combobox that is bound to a an instance of a class. I need to get the user's selection ID of the combobox and set a class property equal to it.

For example, here is the class:

public class robot
{
    private string _ID;
    private string _name;
    private string _configFile;
    [XmlElement("hardware")]
    public hardware[] hardware;

    public string ID
    {
        get { return _ID; }
        set { _ID = value; }
    }
    public string name
    {
        get { return _name; }
        set { _name = value; }
    }
    public string configFile
    {
        get { return _configFile; }
        set { _configFile = value; }
    }
}

Now here is the code to bind the combobox to an instance of that class. This display's the name of each robot in the array in the combobox.

    private void SetupDevicesComboBox()
    {
        robot[] robot = CommConfig.robot;
        cmbDevices.DataSource = robot;
        cmbDevices.DisplayMember = "name";
        cmbDevices.ValueMember = "ID";
    }

But now I can't seem to take what the user selects and use it. How do I use the "ID" of what the user select's from the combobox?

Settings.selectedRobotID = cmbDevices.ValueMember;  //This just generates "ID" regardless of what is selected.

I also tried

Settings.selectedRobotID = cmbDevices.SelectedItem.ToString();  //This just generates "CommConfig.robot"

Thanks

A: 

Try

Settings.selectedRobotID = ((robot)cmbDevices.SelectedItem).ID;
TJMonk15
Cool that worked. I found that this also worked.Settings.selectedRobotID = cmbDevices.SelectedValue.ToString();
CM