c#窗体form(winform)事件event调用事件的简小示例

在TCBS系统中,发现方法可以调用事件,而事件可以调用方法;且事件可以调用事件.

本文测试目的:
  1,control类的属性containsfocus,表明控件(或子控件)是否得到焦点
        2,把窗体加载事件load与复选框leave及单击事件结合起来
        3,依据复选框是否得到焦点,在标签中显示是否选中复选框.

 (注:当然,此例可能过checkbox.checkstate来实现,我只是为了学习control.containsfocus属性)

列举代码如下:

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

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

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = checkBox1.ContainsFocus.ToString();
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
     //经分析,是因为选中不选中此时复选框一直获到了焦点,故一直是true
           // Form1_Load(sender, e); 好像从选中复选框到未选中就不起作用了,
        }

        private void checkBox1_MouseClick(object sender, MouseEventArgs e)
        {
            Form1_Load(sender, e);
        }
         //加如下事件是让标签可以真实显示复选框是否获到了焦点
        private void checkBox1_Leave(object sender, EventArgs e)
        {
            Form1_Load(sender, e);
        }


    }
}
请使用浏览器的分享功能分享到微信等