none
控件做参数,控件集合,综合问题 RRS feed

  • 问题

  •    正在写一个程序,程序主界面有6个combo组合框,每个组合框旁边都对应一个确定按钮。现在想要写一个名称为Chek的通用方法,这个方法的主要作用是检测组合框是否选定了选项。
         开始想把控件当做一个参数传递过去,然后在按钮的事件里面调用这个方法,检察这个按钮旁边的组合框是否已经选定了选项。可是找了点资料不会实现。   
         后来自己想的是使用object  ,在里面进行拆箱和装箱。  可是还是不知道怎么把一个控件当做一个参数传递过去。

    说白了,就是如何能让一个方法验证几个相同的控件。就是那个按钮调用这个方法,就检察这个按钮旁边的组合框是否已经选择了选项。

    2010年4月7日 10:11

答案

  •  public void IsCom(ComboBox cmb)
            {
                int aa = cmb.SelectedIndex;
                if (cmb.SelectedIndex==-1)
                {
                    MessageBox.Show(cmb.Name+"未选择!");
                }
            }
    
    
     private void button2_Click(object sender, EventArgs e)
            {
                         IsCom(comboBox1);
            }
    

    努力+方法=成功
    public bool CheckComboboxValue(ComboBox cmb, int value)
    {
       if(cmb == null)
          throw new ArgumentNullException("cmb");
       if(cmb.SelectedIndex == value)
          return true;
       else
          return false;
    }
    改进了一下,呵呵
    共同努力,共同提高
    kaedei#live.cn My BLOG
    2010年4月7日 12:02

全部回复

  •  public void IsCom(ComboBox cmb)
            {
                int aa = cmb.SelectedIndex;
                if (cmb.SelectedIndex==-1)
                {
                    MessageBox.Show(cmb.Name+"未选择!");
                }
            }
    
    
     private void button2_Click(object sender, EventArgs e)
            {
                         IsCom(comboBox1);
            }

    努力+方法=成功
    2010年4月7日 10:40
  •  public void IsCom(ComboBox cmb)
            {
                int aa = cmb.SelectedIndex;
                if (cmb.SelectedIndex==-1)
                {
                    MessageBox.Show(cmb.Name+"未选择!");
                }
            }
    
    
     private void button2_Click(object sender, EventArgs e)
            {
                         IsCom(comboBox1);
            }
    

    努力+方法=成功
    public bool CheckComboboxValue(ComboBox cmb, int value)
    {
       if(cmb == null)
          throw new ArgumentNullException("cmb");
       if(cmb.SelectedIndex == value)
          return true;
       else
          return false;
    }
    改进了一下,呵呵
    共同努力,共同提高
    kaedei#live.cn My BLOG
    2010年4月7日 12:02
  • 这样改进后,这个value应该是传递选择的选项的下标索引吧。

     

    甚至就可以使用value 来进行是否选定的都是指定的选项,我讲的对吧。

     

    如果不对请指教。

    2010年4月8日 10:31