zoukankan      html  css  js  c++  java
  • winForm的CRUD 加上传图片

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using Newtonsoft.Json;
    using System.Net.Http;
    using System.Net.Http.Headers;

    namespace WinForms
    {
    public partial class Form1 : CCWin.CCSkinMain
    {
    public Form1()
    {
    InitializeComponent();
    }
    void Bind(string name)
    {
    Uri url = new Uri("http://localhost:61277/");
    HttpClient client = new HttpClient();
    client.BaseAddress = url;

    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    HttpResponseMessage mess = client.GetAsync("actionApi/Info/Get?name=" + name).Result;
    if(mess.IsSuccessStatusCode)
    {
    string data = mess.Content.ReadAsStringAsync().Result;
    var table = JsonConvert.DeserializeObject<List<infoModel>>(data);

    dataGridView1.AutoGenerateColumns = false;
    dataGridView1.AllowUserToAddRows = false;
    //绑定数据
    dataGridView1.DataSource = table;
    //绑定下拉框
    //comboBox1.DataSource = table;
    //comboBox1.DisplayMember = "ClassName";
    //comboBox1.ValueMember = "ClassID";

    }
    client.Dispose();
    }
    /// <summary>
    /// 窗体加载事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Form1_Load(object sender, EventArgs e)
    {
    var name = "";
    Bind(name);
    }
    /// <summary>
    /// 显示图片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    DataGridView result = sender as DataGridView;

    if (result.Columns[e.ColumnIndex].Name.Equals("Column2"))
    {
    e.Value = Image.FromFile(Application.StartupPath + "\img\" + e.Value);
    }
    }

    /// <summary>
    /// 跳转新增页面
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button2_Click(object sender, EventArgs e)
    {
    Add add = new WinForms.Add();
    add.ShowDialog();
    }
    /// <summary>
    /// 删除按钮
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button3_Click(object sender, EventArgs e)
    {
    DialogResult result = MessageBox.Show("是否确认删除", "删除", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
    if (result == DialogResult.Yes)
    {
    var id = dataGridView1.CurrentRow.Cells[0].Value;
    Uri url = new Uri("http://localhost:61277/");
    HttpClient client = new HttpClient();
    client.BaseAddress = url;

    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    HttpResponseMessage mess = client.DeleteAsync("actionApi/Info/Delete?id=" + id).Result;
    if(mess.IsSuccessStatusCode)
    {
    int s =Convert.ToInt32( mess.Content.ReadAsStringAsync().Result);
    if(s>0)
    {
    MessageBox.Show("删除成功!");

    }
    }
    var name = "";
    Bind(name);

    }
    }

    /// <summary>
    /// 退出
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button5_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }
    /// <summary>
    /// 修改按钮跳转页面
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button4_Click(object sender, EventArgs e)
    {
    var id = dataGridView1.CurrentRow.Cells[0].Value;
    Update upt = new WinForms.Update(Convert.ToInt32( id));
    upt.ShowDialog();
    var name = "";
    Bind(name);
    }
    /// <summary>
    /// 查询
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button1_Click(object sender, EventArgs e)
    {
    var name = textBox1.Text;
    Bind(name);
    }
    }
    }

    --添加

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;

    namespace WinForms
    {
    public partial class Add : CCWin.CCSkinMain
    {
    public Add()
    {
    InitializeComponent();
    }
    string filename = "";
    /// <summary>
    /// 上传图片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void skinButton3_Click(object sender, EventArgs e)
    {
    //定义文件浏览
    OpenFileDialog file = new OpenFileDialog();
    //定义图片格式
    file.Filter = "图片格式(*)|*.*";
    //判断图片是否选中
    if(file.ShowDialog()==DialogResult.OK)
    {
    //获取图片路径
    string newname = file.FileName;
    //获取截取位置索引
    int idenx = newname.LastIndexOf("\");
    //设置图片不重名
    filename = Guid.NewGuid().ToString() + (newname.Substring(idenx + 1));
    //创建文件流
    using (FileStream fs = new FileStream(@"./img/" + filename, FileMode.CreateNew))
    {
    //流返回
    using (Stream stream = file.OpenFile())
    {
    stream.CopyTo(fs);
    //写入文件
    fs.Flush();
    }
    }
    }
    skinPictureBox1.ImageLocation = @"./img/" + filename;
    }

    /// <summary>
    /// 添加窗体加载事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Add_Load(object sender, EventArgs e)
    {
    List<infoModel> m = new List<infoModel>()
    {
    new infoModel() {CID=1,ClassName="一年级" },
    new infoModel() {CID=2,ClassName="二年级" },
    new infoModel() {CID=3,ClassName="三年级" },
    };
    skinComboBox1.DataSource = m;
    skinComboBox1.DisplayMember = "ClassName";
    skinComboBox1.ValueMember = "CID";

    }
    /// <summary>
    /// 添加按钮事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void skinButton1_Click(object sender, EventArgs e)
    {
    /// 添加按钮事件
    //判断男女
    string sex = skinRadioButton1.Checked ? "男" : "女";
    infoModel m = new WinForms.infoModel();

    m.SName = skinTextname.Text;
    m.SSex = sex;
    m.STime = skinTexttime.Text;
    m.ClassID = Convert.ToInt32(skinComboBox1.SelectedValue);
    m.SNum = textNum.Text;
    m.SImg = filename;
    //获取URI
    Uri url = new Uri("http://localhost:61277/");
    //定义client
    HttpClient client = new HttpClient();
    //设置基地址
    client.BaseAddress = url;
    //设置报头
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    //定义content对象
    HttpContent cent = new StringContent("{'SName':'" + m.SName + "','SNum':'"+m.SNum+"','SSex':'" + m.SSex + "','STime':'" + m.STime + "','ClassID':'" + m.ClassID + "','SImg':'" + m.SImg + "' ,' SID':'" + m.SID + "' }");
    //设置类型
    cent.Headers.ContentType=new MediaTypeWithQualityHeaderValue("application/json");
    //返回
    HttpResponseMessage mess = client.PostAsync("actionApi/Info/Post",cent ).Result;
    if(mess.IsSuccessStatusCode)
    {
    var result = mess.Content.ReadAsStringAsync().Result;
    if(Convert.ToInt32( result)>0)
    {
    MessageBox.Show("添加成功!");
    Form1 f1 = new WinForms.Form1();
    f1.ShowDialog();
    }
    }
    }

    /// <summary>
    /// 返回
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void skinButton2_Click(object sender, EventArgs e)
    {
    Form1 f1 = new WinForms.Form1();
    f1.ShowDialog();
    }
    private void skinTextBox2_Paint(object sender, PaintEventArgs e)
    {

    }
    }
    }

    --修改

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using Newtonsoft.Json;
    using System.IO;
    namespace WinForms
    {
    public partial class Update : CCWin.CCSkinMain
    {
    string filename = "";
    public Update(int id)
    {
    InitializeComponent();
    //下拉框赋值
    List<infoModel> m = new List<infoModel>()
    {
    new infoModel() {CID=1,ClassName="一年级" },
    new infoModel() {CID=2,ClassName="二年级" },
    new infoModel() {CID=3,ClassName="三年级" },
    };
    //获取url
    Uri url = new Uri("http://localhost:61277/");
    //定义httpclient
    HttpClient client = new HttpClient();
    //设置基地址
    client.BaseAddress = url;
    //设置报头
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    //返回
    HttpResponseMessage mess = client.GetAsync("actionApi/Info/GetUpt/" + id).Result;
    if (mess.IsSuccessStatusCode)
    {
    string data = mess.Content.ReadAsStringAsync().Result;
    var list = JsonConvert.DeserializeObject<List<infoModel>>(data);
    //文本框赋值
    filename = list[0].SImg;

    skinPictureBox1.ImageLocation = @"./img/" + filename;
    skinID.Text = list[0].SID.ToString();
    skinTextname.Text = list[0].SName;
    skinTexttime.Text = list[0].STime;
    //修改显示男女
    skinRadioButton1.Checked = list[0].SSex == "男" ? true : false;
    skinRadioButton2.Checked = list[0].SSex == "女" ? true : false;

    textNum.Text = list[0].SNum;
    //下拉框赋值
    skinComboBox1.DataSource = m;
    skinComboBox1.DisplayMember = "ClassName";
    skinComboBox1.ValueMember = "CID";
    skinComboBox1.SelectedValue = list[0].ClassID;
    }

    client.Dispose();
    }
    private void Update_Load(object sender, EventArgs e)
    {

    }
    /// <summary>
    /// 上传图片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void skinButton3_Click(object sender, EventArgs e)
    {
    //定义文件浏览
    OpenFileDialog file = new OpenFileDialog();
    //定义图片格式
    file.Filter = "图片格式|*.*";
    //判断图片是否被选中
    if(file.ShowDialog()==DialogResult.OK)
    {
    //获取图片路径
    string newname = file.FileName;
    //获取截取位置索引
    int idenx = newname.LastIndexOf("\");
    //设置图片不重名
    filename = Guid.NewGuid().ToString() + (newname.Substring(idenx + 1));
    //创建文件流
    using (FileStream strea = new FileStream(@"./img/" + filename, FileMode.CreateNew))
    {
    //流返回
    using (Stream st = file.OpenFile())
    {
    //拷贝流
    st.CopyTo(strea);
    //写入文件
    strea.Flush();
    }
    }
    }
    //图片显示
    skinPictureBox1.ImageLocation = @"./img/" + filename;
    }
    /// <summary>
    /// 保存按钮点击事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void skinButton1_Click(object sender, EventArgs e)
    {
    //判断男女
    string sex = skinRadioButton1.Checked ? "男" : "女";
    infoModel m = new WinForms.infoModel();
    m.SID = Convert.ToInt32(skinID.Text);
    m.SName = skinTextname.Text;
    m.SSex = sex;
    m.STime = skinTexttime.Text;
    m.ClassID = Convert.ToInt32(skinComboBox1.SelectedValue);
    m.SNum = textNum.Text;
    m.SImg = filename;
    //获取URI
    Uri url = new Uri("http://localhost:61277/");
    //定义client
    HttpClient client = new HttpClient();
    //设置基地址
    client.BaseAddress = url;
    //设置报头
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    //定义content对象
    HttpContent cent = new StringContent("{'SName':'" + m.SName + "','SNum':'"+m.SNum+"','SSex':'" + m.SSex + "','STime':'" + m.STime + "','ClassID':'" + m.ClassID + "','SImg':'" + m.SImg + "' ,'SID':'" + m.SID + "','CID':'" + m.CID+"' }");
    //设置类型
    cent.Headers.ContentType = new MediaTypeHeaderValue ("application/json");
    //返回
    HttpResponseMessage mess = client.PutAsync("actionApi/Info/Put?id="+m.SID, cent).Result;
    if (mess.IsSuccessStatusCode)
    {
    var result = mess.Content.ReadAsStringAsync().Result;
    if (Convert.ToInt32(result) > 0)
    {
    MessageBox.Show("修改成功!");
    Form1 f1 = new WinForms.Form1();
    f1.ShowDialog();
    }
    }
    }


    }
    }

  • 相关阅读:
    css3 练习
    onethink 返回上一页
    小程序之轮播图
    Node 基本使用
    IDEA Terminal
    Spring Shell简单应用
    Spring Theme简单应用
    Spring MVC的学习笔记
    Win10出现键盘未失灵,按下的键都是快捷键的问题
    SQL Server 添加描述
  • 原文地址:https://www.cnblogs.com/xing-xing/p/7884292.html
Copyright © 2011-2022 走看看