kan combobox items niet toevoegen (C#)

Status
Niet open voor verdere reacties.

JazzyJan

Nieuwe gebruiker
Lid geworden
22 nov 2017
Berichten
1
Ik wil met 1 code meerdere comboboxen voorzien van tekst.
Alles werkt (comboboxen worden herkend) behalve bij de laatste regel wordt "mybox.Items" niet herkend.

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FindcboBox
{
	public partial class Form1 : Form
	{
		public ComboBox mycbox;
		public Form1()
		{
			InitializeComponent();
			{
				Cbo1.Items.Clear();
				Cbo1.Items.Add("een");
				Cbo1.Items.Add("twee");
			}
		}

		private void Button1_Click(object sender, EventArgs e)
		{
			GetcboBox("Cbo1");
			GetcboBox("Cbo2");
			GetcboBox("Cbo3");
		}

		private void GetcboBox(string cbName)
		{

			mycbox = new ComboBox();
			foreach (Control mycbox in this.Controls)
			{
				if (mycbox is ComboBox & mycbox.Name == cbName)
				{
					MessageBox.Show("hallo");

					mycbox.Text = "kl";
					mycbox.Items.Add("een");					
				}
			}
		}
	}
}
 
Ik heb geen ervaring met C# maar je doet twee dingen:

  1. Je maakt een nieuwe instance aan vlak voor de loop, maar de loop zal de waarde van die variabele overschrijven, je bedoeling is om bestaande objecten uit het systeem te halen, niet om nieuwe te maken daar.
  2. Je itereert Control objecten, dit is een superklasse van ComboBox maar bevat niet dezelfde methodes.
    Om de methodes van ComboBox aan te roepen zul je eerst moeten "casten" naar ComboBox.
    Hoe dit moet hangt af van C#, maar waarschijnlijk zul je ((ComboBox)mycbox).Items moeten doen of ComboBox(mycbox).Items, en omdat het een C taal is waarschijnlijk het eerste.

Overigens gebruik je ook de verkeerde & operator daar.

Zie: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/conditional-and-operator
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan