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

简介: 这篇日志记录一下C#中is关键字及as关键字的用法。Is :判断检查对象是否与给定类型兼容As :将对象转换为指定类型(强转),就跟(int )这样的用法是一样的。获取当前窗体的活动子窗体。

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

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

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

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

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

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

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

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

kotlin

复制代码

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

csharp

复制代码

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

最后效果如下图所示:

image.png

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

实例在文末,可下载。

原文链接:点击这里,走你

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

目录
相关文章
|
11月前
|
C#
30.C# 关键字 this初步学习
30.C# 关键字 this初步学习
74 1
|
11月前
|
Java 数据库 C#
C#winforms实现windows窗体人脸识别
C#winforms实现windows窗体人脸识别
|
11月前
|
C#
28.c#关键字base初步学习
28.c#关键字base初步学习
54 0
|
11月前
|
C#
27.c#关键字sealed修饰类
27.c#关键字sealed修饰类
106 0
|
6月前
|
开发框架 Cloud Native .NET
10 个 C# 关键字和功能
10 个 C# 关键字和功能
89 8
|
6月前
|
API C# Windows
【C#】在winform中如何实现嵌入第三方软件窗体
【C#】在winform中如何实现嵌入第三方软件窗体
328 0
|
6月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
110 0
|
8月前
|
C# 索引
C#中的virtual和override关键字
C#中的virtual和override关键字
76 3
|
8月前
|
开发框架 .NET C#
【Azure Developer】C# / .NET 静态函数中this关键字的作用
【Azure Developer】C# / .NET 静态函数中this关键字的作用
|
9月前
|
开发框架 .NET C#
【Azure Developer】C# / .NET 静态函数中this关键字的作用
在C#中,`this`关键字用于扩展方法,允许向已有类型添加功能而不修改其源代码。扩展方法必须在静态类中定义,且第一个参数使用`this`修饰,如`public static XElement AcquireElement(this XContainer container, string name, bool addFirst = false)`。这种方式增强了代码的可读性和类型的安全性,尤其在处理第三方库时。