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

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

实例在文末,可下载。

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

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

目录
相关文章
|
2天前
|
Java 数据库 C#
C#winforms实现windows窗体人脸识别
C#winforms实现windows窗体人脸识别
37 0
|
2天前
|
C#
30.C# 关键字 this初步学习
30.C# 关键字 this初步学习
16 1
|
2天前
|
C#
28.c#关键字base初步学习
28.c#关键字base初步学习
12 0
|
2天前
|
C#
27.c#关键字sealed修饰类
27.c#关键字sealed修饰类
16 0
|
2天前
|
SQL 开发框架 .NET
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
25 0
|
2天前
|
开发框架 .NET 编译器
C# 9.0中的静态匿名函数:引入static关键字的新用法
【1月更文挑战第15天】C# 9.0为匿名函数带来了一个新的修饰符static,允许开发者明确指定匿名函数不会捕获其包含作用域中的任何变量。这一特性增强了代码的性能和可读性,同时减少了因不小心捕获变量而导致的潜在错误。本文将详细探讨C# 9.0中静态匿名函数的语法、使用场景以及它们如何影响代码的性能和安全性。
|
7月前
|
关系型数据库 MySQL C#
C# winform 一个窗体需要调用自定义用户控件的控件名称
给用户控件ucQRCode增加属性: //二维码图片 private PictureBox _pictureBoxFSHLQrCode; public PictureBox PictureBoxFSHLQrCode {   get { return _pictureBoxFSHLQrCode; }   set { this.pictureBoxFSHLQrCode = value; } } 在Form1窗体直接调用即可: ucQRCode uQRCode=new ucQRCode(); ucQRCode.PictureBoxFSHLQrCode.属性= 要复制或传给用户控件上的控件的值
38 0
|
2天前
|
C#
C#如何实现窗体最小化到托盘
C#如何实现窗体最小化到托盘
21 0
|
2天前
|
存储 Java C++
31.C#:关键字static
31.C#:关键字static
16 1
|
2天前
|
C#
29.C#关键字throw初步学习
29.C#关键字throw初步学习
23 0