C#is、as关键字及获取当前活动窗体的实例

发布时间:2019-09-26 22:15:52 阅读:13

    这篇日志记录一下C#is关键字及as关键字的用法。

    Is:判断检查对象是否与给定类型兼容

    As:将对象转换为指定类型(强转),就跟(int)这样的用法是一样的。

     

    获取当前窗体的活动子窗体。

    有一个属性ActiveMdiChild当前活动的子窗体

    然后将当前子窗体置为活动窗体的时候触发Activated事件。

    我利用这两个完成我这个小例子:

    在主窗体中建立一个方法:使用is判断当前活动子窗体类型是什么类型,使用as进行强制转换,最后弹出消息。

    public void GetActionForm()
            {
                if (this.ActiveMdiChild is FormChildOne)
                {
                    // 强制转换
                    childOne = this.ActiveMdiChild as FormChildOne;
                    MessageBox.Show("点击了FormChildOne!");
                }
                else if (this.ActiveMdiChild is FormChildTwo)
                {
                    // 强制转换
                    childTwo = this.ActiveMdiChild as FormChildTwo;
                    MessageBox.Show("点击了FormChildTwo!");
                }
                else
                {
                    MessageBox.Show("点击了Form1");
                }
     
            }

    将当前子窗体置为活动窗体时触发Activated事件,其中调用主窗体的GetActionForm

    private void FormChildOne_Activated(object sender, EventArgs e)
    {
          mainForm.GetActionForm();
    }

     

    最后效果如下图所示:

    微信截图_20190926221204.png

     

    主要代码就是以上这两部分,比较简单,但是如果不知道,还是比较麻烦的。

    实例在文末,可下载。

     

    有好的建议,请在下方输入你的评论。

资源下载:

关键字C#