深入浅出C#2008从入门到提高Step By Step(六)Windows应用程序实例(2)

时间:2021-12-21 08:22:14

作者PeterXu  来源:Blog.CSDN  Blog: http://blog.csdn.net/peterreg/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明,否则将追究法律责任。本文地址:http://blog.csdn.net/peterreg/archive/2008/04.aspx

接我的上一篇文章《Windows应用程序实例(1)》, 下面我们通过具体的代码来分析。

部分代码如下:
1. 构造函数
        public Form1()
        {
            InitializeComponent();
            this.BtnOK.Click += new EventHandler(BtnOK_Click);
            this.BtnExit.Click += new EventHandler(BtnExit_Click);
            this.BtnBrwDB.Click += new EventHandler(BtnBrwDB_Click);
        } 
     a.  构造函数首先调用InitializeComponent()进行控件的初始化,对界面的各控件(标签、按钮、文本框等)进行布局。
     b.  控件的Click事件,此事件在单击按钮时发生。
         Click事件的定义          public event EventHandler Click
         EventHandler的定义  public delegate void EventHandler(object sender, EventArgs e);
         EventHandler是System命名空间下的一个委托,表示将处理不包含事件数据的事件的方法。
         Click事件的实现方式为
         Button.Click += new EventHandler(函数名)

2.  按钮的事件
        private void BtnExit_Click(object sender, EventArgs e)
        {
                this.Close();
        }
    通过调用Close方法,关闭本窗体。
        private void BtnBrwDB_Click(object sender, EventArgs e)
        {
            OpenFileDialog opd = new OpenFileDialog();
            if (this.TxbDataBase.Text != string.Empty && File.Exists(this.TxbDataBase.Text))
            {
                FileInfo file = new FileInfo(this.TxbDataBase.Text);
                opd.InitialDirectory = file.DirectoryName;
            }
            opd.Filter = "Access|*.mdb;*.accdb|All Files|*.*";
            opd.Multiselect = false;
            if (opd.ShowDialog() == DialogResult.OK)
            {
                this.TxbDataBase.Text = opd.FileName;
            }
        }
    通过调用标准的文件打开对话框,实现文件的指定。
    文件夹的选择见我以前的一篇文章《c#下浏览文件夹的实现!

3. 其它功能的实现
    通过对界面各控件属性的访问,得到各属性值,从而实现各种功能。
    a.  文本框的值      TextBox的Text属性
    b.  单选按钮的值  RadioButton的Checked属性

通过这一个简单的实例,在程序中使用了控件的各个属性值,实现了控件的委托(事件是一种特殊的委托)。使我们对WINDOW程序有了一个初步的了解,对于后续的复杂和高级应用打下了良好的基础。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2296038