zoukankan      html  css  js  c++  java
  • winfrom 动态添加控件,以及删除

      private void btnadd_Click(object sender, EventArgs e)
            {
                int fileCount = 0;
                foreach (Control c in this.flowLayoutPanel1.Controls)
                {
                    if (c is TextBox)
                    {
                        ++fileCount;
                    }
                }
                if (fileCount >= 4)
                {
                    MessageBox.Show("最多添加5张图!");
                    return;
                }
                string controlMark = Guid.NewGuid().ToString();
                TextBox t1 = new TextBox();
                t1.Name = "txt_" + controlMark;
                t1.Click += new EventHandler(btnClickEvent);
                t1.Width = 300;
                flowLayoutPanel1.Controls.Add(t1);
     
                Button btnDel = new Button();
                btnDel.Name = "del_" + controlMark;
                btnDel.Text = "删除";
                btnDel.Click += new EventHandler(delFileControl);
                flowLayoutPanel1.Controls.Add(btnDel);
            }
    ///点击删除按钮删除生成的控件         public void delFileControl(object sender, EventArgs e)         {             Button btnAction = sender as Button;             string id = btnAction.Name.Split('_')[1];             foreach (Control c in this.flowLayoutPanel1.Controls)             {                 if (c.Name == "txt_" + id)                 {                     flowLayoutPanel1.Controls.Remove(c);                 }             }             foreach (Control c in this.flowLayoutPanel1.Controls)             {                 if (c.Name == "del_" + id)                 {                     flowLayoutPanel1.Controls.Remove(c);                 }             }             pictureBox1.Image = null;         }         public void btnClickEvent(object sender, EventArgs e)         {             pictureBox1.Image = null;             TextBox txtAction = sender as TextBox;             OpenFileDialog openFileDialogTemp = new OpenFileDialog();             DialogResult dr = openFileDialogTemp.ShowDialog();             if (dr == DialogResult.OK)             {                 string id = txtAction.Name.Split('_')[1];                 foreach (Control c in this.flowLayoutPanel1.Controls)                 {                     if (c.Name == "txt_" + id)                     {                         c.Text = openFileDialogTemp.FileName;                         pictureBox1.Image = Image.FromFile(openFileDialogTemp.FileName);                     }                 }             }         }

    ///保存
     foreach (Control c in this.flowLayoutPanel1.Controls)
                        {
                            if (c is TextBox)
                            {
                                if (File.Exists(c.Text.Trim()))
                                {
                                    string time = DateTime.Now.ToString("yyyy-MM");
                                    if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"File" + time + @""))
                                    {
                                        Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + @"File" + time + @"");
                                    }
                                    string FileName = time + @"" + Guid.NewGuid().ToString() + ".jpg";
                                    string tempFileName = AppDomain.CurrentDomain.BaseDirectory + @"File" + FileName;
                                    File.Copy(c.Text.Trim(), tempFileName);
                                }
                            }
     
                        }
  • 相关阅读:
    Python Flask数据库连接池
    Python Flask 配置文件
    Flask 通过扩展来实现登录验证
    Flask 的系统学习
    Python Flask装饰器登录验证
    Django 批量导入文件
    fedora25的免密码rsync服务配置
    linux强制拷贝避免输入yes方法
    linux系统web站点设置-http基础设置
    rsync用法详细解释
  • 原文地址:https://www.cnblogs.com/ft-Pavilion/p/5642545.html
Copyright © 2011-2022 走看看