winforms - changing the forecolor in array of dynamically created combobox based on item in c#.net -


i have change forecolor of 30 combobox*s* created dynamically , forecolor schould based on item value. as, i'm having dynamic array of combobox cant so... please me.

code sample:

public partial class form1 : form { combobox[] cb = new combobox[28];  private void form1_load(object sender, eventargs e) {             (int ii = 0; ii < 28; ii++)     {        cb[ii] = new combobox();        cb[ii].name = "cb"+ii.tostring();         cb[ii].items.add("ok");        cb[ii].items.add("not ok");         if (cb[ii].items.tostring().equals("ok"))        {            cb[ii].forecolor = color.black;        }        else        {            cb[ii].forecolor = color.red;        }     } }   new code:     private void comboboxselectedindexchanged(object sender, eventargs e)     {          messagebox.show("event raised");          combobox sendercombobox = (combobox)sender;          if (sendercombobox.selectionlength > 0)         {              if (sendercombobox.selecteditem.tostring() == "ok")             {                 sendercombobox.items.add("");                 sendercombobox.forecolor = color.green;                 sendercombobox.items.remove("");             }             else             {                 sendercombobox.items.add("");                 sendercombobox.forecolor = color.red;                 sendercombobox.items.remove("");             }         }     } 

thanks in advance.

first of change for:

for (int ii = 0; ii < 28; ii++) {    cb[ii] = new combobox();    cb[ii].name = "cb"+ii.tostring();     cb[ii].items.add("ok");    cb[ii].items.add("not ok");     cb[ii].selectedindex = 0;        //"ok" option selected    cb[ii].forecolor = color.black;  //set forecolor black     cb[ii].selectedindexchanged += comboboxselectedindexchanged;   } 

next add event:

private void comboboxselectedindexchanged(object sender, eventargs e) {     combobox sendercombobox = (combobox) sender;      if (sendercombobox.selectionlength > 0)     {         if (sendercombobox.selecteditem.tostring() == "ok")         {             cb[ii].forecolor = color.black;         }         else         {             cb[ii].forecolor = color.red;         }     } } 

selectedindexchanged fired always, whether index has been changed user or code. if want change fore color when user changes selection use selectionchangecommitted


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -