Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:20:34 C#中窗体继承的应用
C#中窗体继承的应用
继承窗体的应用本节通过一个实例说明如何在Windows应用程序中使用继承窗体。继承窗体运行结果如图1所示。图1 继承窗体程序开发步骤如下。(1)新建一个Windows应用程序,命名为07_01,默认窗体为Form1.cs。(2)在窗体Form1中分别添加一个TextBox控件和一个Button控件,然后添加一个继承于Form1的新窗体,命名为Form2。(3)程序主要代码。Form1窗体中定义virtual类型的无返回值方法msg(),该方法调用MessageBox对象的Show方法输出一个字符串。msg()方法的实现代码如下: public virtual void msg(){MessageBox.Show("继承窗体实例");}在Form1窗体的【继承窗体】按钮的Click事件中,设置TextBox控件的文本值,并调用自定义方法msg()输出一个字符串。【继承窗体】按钮的Click事件代码如下: private void button1_Click(object sender, EventArgs e){textBox1.Text = "基窗体";msg();}由于Form2窗体是继承于Form1窗体的,因此,如果直接运行Form2窗体,其效果跟运行Form1窗体相同。通过重写Form1窗体中的自定义方法msg()重新设置TextBox文本框的值,其运行结果就会发生变化。重写msg()方法的实现代码如下: public override void msg(){textBox1.Text = "继承的窗体";base.msg();}注意:在向窗体中添加控件时,其Modifiers属性默认为private。因此,如果继承这样的窗体,在继承窗体中,控件的属性全部为不可编辑状态。本示例在实现时,将基窗体Form1中控件的Modifiers属性全部设置为public,因此在继承窗体Form2中,可以根据实际情况对各控件进行编辑。完整程序代码如下:★ ★★★★Form1.cs窗体代码文件完整程序代码★★★★★ using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace _7_01{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){textBox1.Text = "基窗体";msg();}public virtual void msg(){MessageBox.Show("继承窗体实例");}private void Form1_Load(object sender, EventArgs e){}}}★ ★★★★Form1.designer.cs窗体设计文件完整程序代码★★★★★
赞