c#名称空间 using 事件处理器

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {
           
        }
        private void myMove()
        {
            label1.Left = label1.Left + 5;
            if (label1.Left > this.Height) label1.Left = -label1.Width;
        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            myMove();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            myMove();
        }
    }
   
}

1、名称空间和类

上例中,前8个语句以using开头,为名称空间(namespace)的引用空间。

名称空间是.NET Framework中提供引用代码的一种方式,像一个容器,可以唯一标识代码及其内容,在建立Windows程序时,需要用到.NET框架类库所提供的组件(按键button、标签label等),这些组件都包含在对应的名称空间中,这些组件都必须通过using关键字引用。

C#程序中,程序的源代码包含在了与当前项目同名的名称空间中,该名称空间的定义由关键字namespace引导,紧随其后的是这个名称空间的标识符(或名称),名称空间的内容包含在一对花括号{}中。

上例中,通过partial class关键字定义了一个Form1类,用户定义的源代码都在这个类中

2、初始化窗口

Form1类中只有一个与类同名的函数Form1(),其源代码如下:

public Form1()
{
  InitializeComponent();
}

这个与Form1类同名的函数被称为构造函数,构造函数在实例化类对象时被自动调用,对窗体上安排的各控件进行初始化操作。

3、事件处理

编写代码时,我们在Form1类中输入了一下四段程序源码。名称为button1_Click、button2_Click和timer1_Tick的程序段被称为事件处理器(或事件处理程序),而myMove()的程序段被称为自定义函数。

(1)myMove函数分析

myMove函数中包含两个语句,从上向下一次执行,其作用是使字幕往后移动一次。

label1.Left = label1.Left + 5;作用是:将字幕到窗口左边界的距离增加5像素,使字幕右移

if (label1.Left > this.Height) label1.Left = -label1.Width;作用是:判断字幕的位置是否超出了窗体右边界,如超出,则将字幕重新移动到窗体左边外侧。

(2)事件处理器button_Click()分析

单用户单击按钮时,触发事件处理器 button1_Click(),依次执行其中的语句,第二个语句"myMove"执行时,程序调用函数myMove()从而实现右移功能。

(3)事件处理器timer1_Tick()分析

myMove的作用是使字幕向右移动,如果找到一种方法,能让用户单击按钮时,反复调用myMove()函数,就可以实现字幕连续右移。

timer有两个重要属性:Enabled属性和Interval属性。时钟的Enabled决定了时钟是打开还是关闭,默认情况下为关闭(Enabled=false)。Interval属性的值是一个整数,代表一个时间间隔,他的单位是毫秒,其默认值为100,代表0.1秒。当时钟被打开时,程序会根据Interval的属性指定的时间间隔反复执行时间处理器timer_Tick()中的语句,直到时钟再次关闭为止。

(4)事件处理器button2_Click()分析

触发按钮后,在其中写入打开时钟语句“timer.Enabled=true”,就能每隔0.1秒反复触发timer_Tick()事件。

4、总结

C#的Windows应用程序运行过程可以归纳为以下步骤

(1)导入程序所需组件对应的名称空间

(2)创建窗体类对象,并初始化窗体

(3)运行窗体对象

(4)等待用户行为,触发对应事件,执行事件处理程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

autotian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值