c#窗體form(winform)事件event呼叫事件的簡小示例

wisdomone1發表於2012-04-12
在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);
        }


    }
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-720990/,如需轉載,請註明出處,否則將追究法律責任。

相關文章