controls abfragen



  • moinsn, ich schon wieder 🙄

    folgende frage:

    habe fenster mit 10 checkboxen drauf, und möchte nun mittels einer schleife wissen, welches gechecked ist. hier der code

    CheckBox ctrl = new CheckBox();
    
    			for( i = 1; i <= 10; i++ )
    			{
    				string cName = "checkBox";
    				cName += i.ToString();
    				((CheckBox)ctrl).Name = cName;
    				if( ((CheckBox)ctrl).Checked )
    				{
    					oBuffer += "Att_IO_Ebenen=" + ((CheckBox)ctrl).Text;
    				}
    			}
    

    das es eine checkbox ist wird zwar erkannt( er meckert nicht bei 'Checked' ), aber sonst steht z.b. in 'Text' der name des fensters. 😞

    wo ist der fehler?

    thx schonmal



  • Hi,

    wenn ich dich richtig verstehe willst du lediglich wissen welche deiner CheckBoxen gecheckt wurden - dann lass sie sich doch in eine Arrayliste ein bzw. austragen und überprüfe diese :

    public ArrayList aChecked = new ArrayList();
    
     ...
    
     			 // Kann gleich für alle 10 oder x Boxen genutzt  werden
    
    		private void checkBox_CheckedChanged(object sender, System.EventArgs e)
    		{
    			CheckBox oCallerBox = (CheckBox) sender;
    
    			if(oCallerBox.Checked) aChecked.Add(oCallerBox);
    			else aChecked.Remove(oCallerBox);
    
    		}
    
    		private void button1_Click(object sender, System.EventArgs e)
    		{
    
    				// Test ob checkBox 1 gecheckeed ist
    			if(-1 != aChecked.IndexOf(checkBox1))
    			{
    				MessageBox.Show("checkBox1 is Checked");
    			}
    
    				// Alle Namen ausgeben
    			foreach(CheckBox oThisBox in aChecked)
    			{
    				MessageBox.Show(oThisBox.Name);
    			}
    
    		}
    


  • jep, das wars

    BIG thx 🙂


Anmelden zum Antworten