这篇日志记录一下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(); }
最后效果如下图所示:
主要代码就是以上这两部分,比较简单,但是如果不知道,还是比较麻烦的。
实例在文末,可下载。
原文链接:点击这里,走你
有好的建议,请在下方输入你的评论。