![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#开发
文章平均质量分 64
jiliqiang1986
这个作者很懒,什么都没留下…
展开
-
DataTable 与 datagrid控件
datagrid控件的作用简单点说就是将表格显示出来,用的多的是直接链接数据库文件,也可以自己见一个表格对象,链接到datagrid控件,下面是一个简单的例子 DataTable dt = new DataTable(); //新建列 DataColumn col1 = new DataColumn("设备名原创 2016-07-26 13:39:07 · 3562 阅读 · 0 评论 -
C#中的DataSet,DataTable,DataView
//首先创建一个DataTable对象DataTable dt = new DataTable();//new DataColumn创建了新的一列,并给这列起个列名,Add方法则是把这个新创建的列加入到创建的dt对象中dt.Columns.Add(new DataColumn("姓名"));dt.Columns.Add(new DataColumn("性别"));转载 2016-07-26 13:57:28 · 934 阅读 · 0 评论 -
C# 动态操作DataTable(新增行、列、查询行、列等)
方法一:动态创建一个DataTable ,并为其添加数据public void CreateTable() { //创建表 DataTable dt = new DataTable(); //1、添加列 dt.Columns.Add("Nam转载 2016-07-26 13:59:08 · 607 阅读 · 0 评论 -
C#TreeView读取Xml,TreeView导出到Xml
实现功能有1.根据Xml生成TreeView2.双击修改节点3.右键添加子节点或添加要节点4.右键删除当前选择的节点5.将修改后的TreeView重新生成Xml文档源码下载 TreeLoadXml.rar (24.14 KB, 下载次数: 627) 只有注册会员可以下载其实这个主要是实现 了Xml生成TreeView,然后再根据TreeView生成Xml的过程对我转载 2016-07-26 14:02:03 · 6660 阅读 · 3 评论 -
C#中对XML文件进行新建、查找、插入、修改、保存等操作
内容包括:新建XML文件;在XML文件中查找单个节点或多个节点;并在该节点下添加子节点;同时为添加的子节点赋值 (例一);得到某个节点下的符合条件的所有子节点,并对这些子节点进行操作(例二);并介绍了如何保存XML文件(见附注)包含头文件;using System.Xml;(例一)private XmlDocument NewXmlFile(PlanningData转载 2016-07-26 14:07:47 · 2897 阅读 · 0 评论 -
C# 序列化(保存于读取)
.NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储;第三种其实和第二种差不多也是XML的格式存储,只不过比第二种的XML格式要简化很多(去掉了SOAP特有的额外信息)。原创 2016-08-21 11:47:37 · 3673 阅读 · 0 评论 -
C#关于For循环break,goto,return的应用
break是循环结束执行,执行循环体后面的代码,用于跳出当前循环,从当前位置跳出,并且不再执行当前循环里的内容;continue是跳过本次循环未执行的代码,继续执行下一次循环。goto是跳到指定的指令去,你指哪,他跳到哪。return是函数返回,如果循环在Main函数中,那么程序一般就结束了。for (int i = 0; i {for (int j = 0; j 第二层循环原创 2016-08-23 20:54:07 · 6333 阅读 · 0 评论 -
C#简易截图工具源码下载
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; namespace 简易截图工具{ publi转载 2016-09-05 19:48:04 · 782 阅读 · 0 评论 -
C# GDI+ 绘图基础知识(1)
C#绘图窗口最小化图画消失问题解决方法:在学习C#绘图过程中发现,在窗口Form上画图,当窗口最小化或者按Alt建时,Form上的图画都会消失,原来这是因为最小化后还原时窗体要重绘,图画被覆盖消失,解决方法有两个:一是在窗口Form的Paint事件中重新绘制图画;二是把图画在位图上,然后把位图赋给能显示图片的窗口或控件上。一. 在窗口Form的Paint事件中重新绘制图画原创 2017-02-09 09:04:33 · 1243 阅读 · 1 评论 -
C# 控件知识补充
1、panel容器(1)边框默认宽度为1pixel,即该控件对应的工作区的矩形区域ClientRectangle比控件设定值上、下、左、右边界各小1pixel 。ClientRectangle.Width=panel.width-1-1;ClientRectangle.Height=panel.Height-1-1;(2)滚动条的默认高度为17pixel,即当出现滚动条时,原创 2017-02-11 18:20:33 · 470 阅读 · 0 评论 -
C# 矩阵变换Matrix
1、Matrix matrix = new Matrix();2、matrix.Translate( offsetX, offsetY ); //Where offset is the new location3、path.Transform( matrix ); //Transform the path4、redraw the path via Invalidate()原创 2017-02-21 15:22:50 · 14150 阅读 · 0 评论 -
C# 颜色
两种方式,一种是设十六进制,一种是rgb;this.Emfo_Fas.ForeColor = System.Drawing.Color.FromName("#ff0000");this.Emfo_Fas.ForeColor = System.Drawing.Color.FromArgb(255,0,0);原创 2017-02-15 09:13:57 · 917 阅读 · 0 评论 -
C# 重写空间 Onpaint事件
我们无法直接在窗体的代码中重写控件的OnPaint事件,只能重写窗体的OnPaint事件。重写控件的OnPaint事件,必须创建一个新的控件。这个控件继承Windows的控件,然后在创建的控件中重写控件的OnPaint事件。以PictureBox为例://定义一个新的控件,继承PictureBox控件public cl转载 2016-07-26 13:54:25 · 1598 阅读 · 1 评论 -
C#Graphics类绘制直线与拖动
Grapgics对象类似画布或者一张纸,供其他对象在上面作图。具体用Grapgics类绘制一条直线的方法如下:Graphics g; Pen newPen = new Pen(Color.Yellow);//定义一个画笔,黄色 Point startP = new Point(20,20);//线的起始点坐标 Point endP =转载 2016-07-26 13:52:50 · 2524 阅读 · 0 评论 -
C#中怎样使控件随着窗体一起变化大小(常见困难以及修正)
这个是多么古老的话题啊,呵呵,可惜网上的解决方案都不大好。都是针对VB或者使用Dock和Anchor属性的。我实在看不过去,所以自己总结了一下。1.使用一些布局面板,比如FlowLayoutPanel,TabLayOutPanel之类,但是缺点就是样式太死了。所以本人不采用。2.采用Dock和Anchor属性。这类虽然鼠标点几下在属性栏设置一下就好,但是缺乏转载 2016-07-26 13:36:38 · 7836 阅读 · 3 评论 -
地铁线路图的设计与实现
在北京、上海这样的一线城市,地铁绝对是上班族的首选交通工具,尽管有时挤得要命,但你真的找不出比地铁更准点的交通工具了。平时出门,我也总是习惯于在百度地图或丁丁地图里先查询一下地铁乘车路线,这些程序用起来非常方便。最近几天终于有点空余时间了,我就在想,我是否也可以写一个这样的程序?作为一名专业码农,我决定立刻动手。 首先,我给地铁线路图程序MetroGraphApp设定了几个转载 2016-07-26 12:52:18 · 5596 阅读 · 0 评论 -
窗体间参数传递
A窗体:C# codepublic class FormA : Form{ //假若A中有一个DataGridView 名为 dgvList,在属性上将Modifier设成public private void button1_Click(object sender, EventArgs e)原创 2016-07-26 13:41:37 · 311 阅读 · 0 评论 -
C# Winform学习--- 实现石头剪刀布的游戏
新建一个windows窗体程序,用数字1代表石头,用数字2代表剪刀,用数字3代表布,结果取玩家和电脑出拳之差,有三种结果 玩家赢: -1,2平手: 0玩家输: 其它值 新建3个类: 1)Computer.cs 电脑随机出拳 using System;using System.Collections.Generic;转载 2016-07-26 13:42:41 · 3904 阅读 · 1 评论 -
C#手动创建Dataset并填充测试数据 修改DataSet数据方法
手段创建思路:将行加入表,将表加入DataSet;逆序进行:新建DataSet,再建DataTable,最后建立Row;将Row加入DataTable,再将DataTable加入DataSet。DataSet ds = new DataSet();//创建DataSet DataTable dt = new DataTable("Table");//创原创 2016-07-26 13:43:56 · 1945 阅读 · 0 评论 -
Graphics平移缩放旋转
【平移】private void btnTranslate_Click(object sender, EventArgs e) { Graphics graphics = this.CreateGraphics(); // 红色笔 Pen pen = new Pen(Colo转载 2016-07-26 13:44:56 · 1061 阅读 · 0 评论 -
Moving a drawn line with the mouse
I am trying to move a drawn line by grabbing it with the mouse.The line have already been drawn with Graphics.DrawLine(Pen P, Point A, Point B).There is absolutely no problems with转载 2016-07-26 13:45:49 · 314 阅读 · 0 评论 -
C# Graphic - DrawLine - draw line and move it
public class LineMover : Form{ public LineMover() { this.DoubleBuffered = true; this.Paint += new PaintEventHandler(LineMover_Paint); this.MouseMove += n转载 2016-07-26 13:46:31 · 1916 阅读 · 0 评论 -
C#中多个label调用同一单击事件,怎么分辨是通过哪个label调用的
传入参数sender 是点击的label对象,根据它便可以找出Name等信息区别, Example: private void label1_Click(object sender, EventArgs e) { Label label = (Label)sender; MessageBox.Show(lab转载 2016-07-26 13:48:26 · 3281 阅读 · 0 评论 -
C# 动态生成的label添加click事件
//按钮点击事件 private void button_Click(object sender, EventArgs e){ Label lb=new Label(); lb.name="lb"; lb.Click += new System.EventHandler(lb_Click); }//private void转载 2016-07-26 13:49:14 · 3953 阅读 · 0 评论 -
C# 在滚动窗口中绘图(滚动条原理)
窗体的大小由窗体的Size属性确定,这个大小包括了窗体的标题栏和边框。而窗体中用于显示客户文档的区域称为工作区(ClientRectangle),其大小用窗体的ClientSize 属性表示(如图17-20所示)。 在图17-20中,窗体的大小为308×234像素,其中标题栏的宽度为30像素,边框的宽度为4像素,所以工作区的大小为300×200像素。如果我们要在300×20转载 2016-07-26 13:50:01 · 8141 阅读 · 1 评论 -
C# 利用委托实现窗体间传值
图文详解C#窗体间传递数据——窗口1若干TextBox中的数据,传递到窗口2中的ListView功能描述:主窗体有一ListView控件和一“添加”Button控件。点击“添加”Button弹出一窗口,此窗口有若干TextBox,输入数据后,点击“确定”Button,数据回传到主窗体的ListView中。核心知识:委托实现步骤:第一步:新建两个窗体,各自原创 2017-03-06 12:08:30 · 6522 阅读 · 1 评论