¿Cómo obtener valor ValueMember de ComboBox C # Winforms?

Estoy teniendo algunos problemas tratando de obtener el valor ValueMember que he establecido. Estoy tratando de usar un cuadro combinado para seleccionar un informe de formularios de Windows. Puedo obtener el nombre pero no RptValue. Aquí está mi código:

        private class Data
    {
        public string Name { get; set; }
        public string RptValue { get; set; }
    }

    private void BaseForm_Load(object sender, EventArgs e)
    {
        this.rvDoctorReportViewer.RefreshReport();
        comboBox1.Items.Add(new Data { Name="Select", RptValue="Select"});
        comboBox1.Items.Add(new Data { Name = "All Food Values", RptValue = "AllFoodValues.rdlc" });
        comboBox1.Items.Add(new Data { Name = "All Readings", RptValue = "AllReadings.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Food Values by Date", RptValue = "AvgFoodValuesByDate.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Food Values by Meal", RptValue = "AvgFoodValuesByMeal.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Readings by Date", RptValue = "AvgReadingsByDate.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Readings by Time", RptValue = "AvgReadingsByTime.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Readings by Event", RptValue = "AvgReadingsByEvent.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Blood Pressure Chart", RptValue = "BPChart.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Blood Pressure Report", RptValue = "BPReport.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Detail Food Values by Meal", RptValue = "DetailFoodValuesByMeal.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Doctor Detail Report", RptValue = "DoctorDetailReport.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Food Chart", RptValue = "FoodChart.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Pumper Detail Report", RptValue = "PumperDetailReport.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Reading Charts", RptValue = "ReadingCharts.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Total Daily Food Intake", RptValue = "TotalIntakeDailyFood.rdlc" });
        comboBox1.DisplayMember = "Name"; // This works fine
        comboBox1.ValueMember = "RptValue"; // This is the problem. It renders as RptValue instead of the value
        comboBox1.SelectedIndex = 0;
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboBox1.SelectedIndex > 0)
        {
            string strReport;
            strReport = "ReportViewer." + comboBox1.ValueMember.ToString();
            rvDoctorReportViewer.Reset();
            rvDoctorReportViewer.LocalReport.ReportEmbeddedResource = strReport;
            this.rvDoctorReportViewer.RefreshReport();
        }
    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta