SelectedIndexChanged问题 [英] Problem with SelectedIndexChanged

查看:66
本文介绍了SelectedIndexChanged问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这段代码。



 private void cmbIndex()
{
foreach(Control myControl in this.Controls)
{
ComboBox comboBox = myControl as ComboBox;
if(comboBox!= null&& comboBox.Items.Count> 0)
{
comboBox.SelectedIndex = 0;
}
}
}





这会选择所有组合框索引为零。但我有一个带有selectedindexchanged事件的组合框。

cmbIndex()不再触发。我应该修改cmbIndex的代码吗?谢谢你

解决方案

如果我理解你想要使用这个方法来初始化/重新启动所有尚未选择索引的组合框控件。为此,您应该更改您的方法(因为 SelectedIndex ,其值 -1 表示未选择任何索引):

  private   void  cmbIndex()
{
foreach (控制myControl 这个 .Controls)
{
ComboBox comboBox = myControl as ComboBox;
if (comboBox!= null && comboBox.Items.Count > 0 && comboBox.SelectedIndex < 0
{
comboBox.SelectedIndex = 0 ;
}
}
}


  //  尝试此代码。 
private void cmbIndex()
{
foreach (控制c in .Controls)
{
foreach (在 c.Controls中控制childc
{
if (childc ComboBox)
{
ComboBox comboBox = childc as ComboBox;
if (comboBox!= null && comboBox.Items.Count > 0
{
comboBox.SelectedIndex = 0 ;
}
// ((ComboBox)childc).SelectedIndex = 0;
}
}
}
}





如有任何问题请告诉我。



- > M.U


Hi I have this code.

private void cmbIndex()
      {
          foreach (Control myControl in this.Controls)
          {
              ComboBox comboBox = myControl as ComboBox;
              if (comboBox != null && comboBox.Items.Count > 0)
              {
                  comboBox.SelectedIndex = 0;
              }
          }
      }



This selects all combo box index to zero. But I have one combo box with a selectedindexchanged event.
cmbIndex() does not fire anymore. Should I revise my codes for cmbIndex? Thank you

解决方案

If I understood correctly you want tu use this method to init/reinit all your combo box controls that do not have yet index selected. For doing that you should change your method like this (because SelectedIndex with value -1 means no index selected):

private void cmbIndex()
{
    foreach (Control myControl in this.Controls)
    {
        ComboBox comboBox = myControl as ComboBox;
        if (comboBox != null && comboBox.Items.Count > 0 && comboBox.SelectedIndex < 0)
        {
            comboBox.SelectedIndex = 0;
        }
    }
}


//try this code.
private void cmbIndex()
        {
  foreach (Control c in this.Controls)
        {
            foreach (Control childc in c.Controls)
            {
                if (childc is ComboBox)
                {
                 ComboBox comboBox = childc as ComboBox;
                if (comboBox != null && comboBox.Items.Count > 0)
                {
                    comboBox.SelectedIndex = 0;
                }
                  // ((ComboBox)childc).SelectedIndex = 0;
                }
            }
        }
        }



if any issue then let me know.

-> M.U


这篇关于SelectedIndexChanged问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆