创建动态控件和动态事件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace HYInstall
{
    public partial class Form1 : Form
    {
        string Current = Directory.GetCurrentDirectory();//获取当前根目录
        IniFile IniF;
        public Form1()
        {
            InitializeComponent();
            IniF = new IniFile(Current + "/HYInstall.ini");//new个ini文件
            int Y = 5;
            int X = 116;
            for (int i = 0; i < 5; i++)
            {
                // Button button1 = sender as Button;
                Button button = new Button();
                button.Click += new EventHandler(button1_Click);//设置事件
                button.MouseEnter += new EventHandler(button1_MouseEnter);//设置事件
                Y = Y + 50;
                X = X - 20;
                button.Location = new Point(X, Y);//设置控件坐标
                button.Name = string.Format("button{0}", i + 1);//设置控件名称
                button.Text = IniF.ReadValue(button.Name.ToString(), "Caption");//设置控件文本
                int intWidth = 200;
                int intHeight = 35;
                Size mySize = new Size(intWidth, intHeight);//设置控件大小
                button.Size = mySize;
                this.Controls.Add(button);//添加控件
            }
            //button1.Text = IniF.ReadValue("Button1", "Caption");
        }


        private void button1_Click(object sender, EventArgs e)
        {
            Button but = (Button)sender;//获取触发事件的控件
            String file = IniF.ReadValue(but.Name.ToString(), "ExecuteFile");//获取ini文件but.Name.ToString()中ExecuteFile的值
            if (file.IndexOf(",") == -1)
            {
                System.Diagnostics.Process.Start(file);
            }
            else
            {
                string file1 = file.Substring(0, file.IndexOf(","));
                string file2 = file.Substring(file.IndexOf(",")+1);
                System.Diagnostics.Process.Start(file1);
                System.Diagnostics.Process.Start(file2);
            }
        }
        private void button1_MouseEnter(object sender, EventArgs e)
        {
            Button but = (Button)sender;//获取触发事件的控件
            textBox1.Text = IniF.ReadValue(but.Name.ToString(), "Information");
        }
        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Environment.Exit(0); 
        }


        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            try
            {
                string path = Application.StartupPath.ToString();//获取文件位置
                DirectoryInfo TheFolder = new DirectoryInfo(path);//打开文件所在的文件夹
                if (TheFolder.Exists)
                {


                    System.Diagnostics.Process.Start(path);


                    // MessageBox.Show("进来了");
                }
                else
                {
                    MessageBox.Show("文件夹不存在");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("文件夹不存在");
            }
        }
    }
}

 

转载于:https://www.cnblogs.com/Asa-Zhu/archive/2012/12/06/2805009.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值