c# winform常用记录

7 篇文章 3 订阅
2 篇文章 0 订阅

open a new page(打开新页面)

if you have a page called Page1.cs

Page1 page = new Page1();
page.ShowDialog();

comboBox 下拉框

add elements by order 顺序添加元素

this.comboBox.Items.Add("ele 1")

insert elements 插入元素

you can insert elements through index

this.comboBox.Items.Insert(0,"insert ele")

make default choose 默认选择

this.comboBox.SelectedIndex = 0;

DataGridVeiw

set background color 设置背景色

 this.DataGridVeiw.RowsDefaultCellStyle.BackColor = Color.White;

set table row background color 设置表头背景色

this.DataGridVeiw.ColumnHeadersDefaultCellStyle.ForeColor = Color.Gray;

set rows background color change 更改行背景色

Color separation setting
这里设置隔行变色

//don't forget this 
this.DataGridVeiw.EnableHeadersVisualStyles = false;
           //change color
for (int i = 0; i < this.viewresultVeiw.RowCount; i++)
{
      if (i % 2 == 0 || i == 0)
	  {
              this.DataGridVeiw.AlternatingRowsDefaultCellStyle.BackColor = Color.Gray;

      }
}

set row elements 设置行元素即添加元素在一行里

// first add a new row
this.viewresultVeiw.Rows.Add();
// choose add place
this.viewresultVeiw.Rows[0].Cells[0].Value = "ele 1";

EntityFramework

Select

easy select

ModelEntity model = new ModelEntity()
var sql = model.table.Select(x=>new {x.name,x.age}).ToList()

add where

var sql = model.table.Where(x=>x.id = 1).Select(x=>new {x.name,x.age}).ToList()

add OrderBy

var sql = model.table.Where(x=>x.id = 1).Select(x=>new {x.name,x.age}).OrderBy(x=>x.id).ToList()

Insert

order insert

			Boolean judge = false;
            string name = this.Module2Box.Text;
            Position pos = new Position();
            pos.PositionName = name;
            Session2Entities session2Entities = new Session2Entities();
            var sql  = session2Entities.Position.Select(x => new { x.PId,x.PositionName }).ToList();
            pos.PId = sql.Count()+1;
            foreach (var i in sql) {
                if (name == i.PositionName)
                {
                    
                    judge = false;
                    break;
                }
                else {
                    judge = true;
                }
            }
            if (judge == true)
            {
                session2Entities.Position.Add(pos);
                session2Entities.SaveChanges();
            }
            else {
                Console.WriteLine("插入失败,已有键");
            }

Delect

			Session2Entities session2Entities= new Session2Entities();
            Position position = new Position();
            position.PId = int.Parse(this.Module3Box.Text);
            session2Entities.Entry(position).State = System.Data.Entity.EntityState.Deleted;
            session2Entities.SaveChanges();

Update

update all

		    Session2Entities session2Entities = new Session2Entities();
            Position pos = new Position();
            int id = int.Parse(this.Module1Box.Text);
            pos.PId = id;
            pos.PositionName = this.Module2Box.Text;
            session2Entities.Position.Attach(pos);
            session2Entities.Entry(pos).State = System.Data.Entity.EntityState.Modified;
            session2Entities.SaveChanges();

update apart

session2Entities.Entry(pos).Property(x=>x.PositionName).IsModified = true;

analyze Json Data

needed repository

using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;

resultEntity

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace session2pro
{
    public class ResultEntity
    {
        [DataMember(Order=0)]
        public string Module1 { set; get; }
        [DataMember(Order = 1)]
        public string Module2 { set; get; }
        [DataMember(Order = 2)]
        public string Module3 { set; get; }
        [DataMember(Order = 3)]
        public string Module4 { set; get; }



    }
}

code

Session2Entities session = new Session2Entities();
var sql = session.Skills_Result_Detail.Select(x => new { x.Result }).ToList();
var stream = new MemoryStream(Encoding.Default.GetBytes(sql[0].Result));
var serializer = new DataContractJsonSerializer(typeof(ResultEntity));
ResultEntity result = (ResultEntity)serializer.ReadObject(stream);

Object to Json

var resultEntity = new ResultEntity()
resultEntity.Model1 = "12"
var serializer = new DataContractJsonSerializer(typeof(ResultEntity));
var stream = new MemoryStream();
serializer.WriteObject(stream, resultEntity);
byte[] dataBytes = new byte[stream.Length];
stream.Position = 0;
stream.Read(dataBytes, 0, (int)stream.Length);
string dataString = Encoding.UTF8.GetString(dataBytes);
Console.WriteLine(dataString);

analyze binary data to Images

Session2Entities session = new Session2Entities();
var sql = session.Competitor.Select(x=>new{x.Photo}).ToList();
byte[] vs = sql[0].Photo;
MemoryStream ms = new MemoryStream(vs);
Image image = Image.FromStream(ms);
newController.personPic.Image = image;

export CSV

attention:
if your DataGridView have null data in the end you should use

Substring(0, rowValue.Length);

if no null data you should use

Substring(0, rowValue.Length-1);

if you have null data in the row

you should change the row processing method and don’t use my processing way
this is mine
在这里插入图片描述

        private void saveAsCSV(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Execl files (*.csv)|*.csv";
            saveFileDialog.FilterIndex = 0;
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.CreatePrompt = true;
            saveFileDialog.Title = "保存csv";
            string filePath = "D:\\csTest";
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                Stream stream = null;
                stream = saveFileDialog.OpenFile();
                StreamWriter sw = new StreamWriter(stream, Encoding.GetEncoding(-0));
                string colName = "";
                string rowValue = "";
                try
                {
                    for (int i = 0; i < this.viewresultVeiw.ColumnCount; i++)
                    {
                        colName += this.viewresultVeiw.Columns[i].HeaderText +",";
                        
                    }
                    colName = colName.Substring(0, colName.Length - 1);
                    sw.WriteLine(colName);

                    for (int i = 0; i < this.viewresultVeiw.RowCount; i++)
                    {

                        rowValue = "";

                        for (int j = 0; j < this.viewresultVeiw.ColumnCount; j++)
                        {
                            if (this.viewresultVeiw.Rows[i].Cells[j].Value != null) {
                                rowValue += this.viewresultVeiw.Rows[i].Cells[j].Value + ",";
                            }
                        }
                       
                        rowValue = rowValue.Substring(0, rowValue.Length);
                        sw.WriteLine(rowValue);
                    }
                    sw.Close();
                    stream.Close();
                    MessageBox.Show("导出成功");

                }
                catch (Exception err)
                {
                    Console.WriteLine(err.Message);
                    MessageBox.Show("导出失败");

                }
                finally
                {
                    sw.Close();
                    stream.Close();
                }


            }
            
        }

export text

			SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "TXT (*.txt)|*.txt";
            saveFileDialog.FilterIndex = 0;
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.CreatePrompt = true;
            saveFileDialog.Title = "保存txt";
            string filePath = "D:\\csTest";
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                Stream stream = null;
                stream = saveFileDialog.OpenFile();
                StreamWriter sw = new StreamWriter(stream, Encoding.GetEncoding(-0));
                string colName = "";
                string rowValue = "";
                for (int i = 0; i < this.viewresultVeiw.ColumnCount; i++) {
                    colName = this.viewresultVeiw.Columns[i].HeaderText+"\t";
                    sw.Write(colName);
                
                }
                sw.WriteLine();
                for (int i = 0; i < this.viewresultVeiw.RowCount; i++) {
                    rowValue = "";
                    for (int j = 0; j < this.viewresultVeiw.ColumnCount; j++) {
                        rowValue = this.viewresultVeiw.Rows[i].Cells[j].Value + "\t";
                        sw.Write(rowValue);
                    }
                    sw.WriteLine();
                }
                sw.Close();
                stream.Close();
            }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值