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();
}
}
}


}
}

 

posted @ 2017-11-23 12:41  屎壳郎戴  阅读(241)  评论(0编辑  收藏  举报