Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published 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窗体设计文件完整程序代码★★★★★


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759