日期:2014-05-17  浏览次数:20992 次

接口如何使用?
比如,界面上有两个组件,一个是comboBox1,另一个是listBox1,它们都有Items属性。有没有一行代码就可以实现不管当前激活的控件是哪一个,都能提示出正确的行数。

private void Form1_Resize(object sender, EventArgs e)
{
  Control oCon = this.ActiveControl;
  MessageBox.Show(oCon.Name);
  //MessageBox.Show(oCon.Items.Count.ToString());

  System.Collections.ICollection oCol;
  //oCol = this.ActiveControl.Items;
  MessageBox.Show(oCol.Count.ToString());
}
我就是不知道接口应该如何灵活应用?

------解决方案--------------------
用反射,动态读取属性值
------解决方案--------------------
 ((dynamic)ActiveControl).Items.Count

当然这玩意最好做一下try或者断言。

呵呵,winform里这玩意麻烦点虽然这两个都继承与ListControl,但是winfrom滴ListControl没有Items属性,这个在webfrom里改进了一下,在webfrom里你直接转换成ListControl就ok了