winform项目源码
Ⅰ 求winform套打源码 小弟穷就56财富 只能给50了 求高手帮忙
PrintDocument pd = new PrintDocument();
//设置边距
Margins margin = new Margins(20, 20, 20, 20);
pd.DefaultPageSettings.Margins = margin;
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
try
{
pd.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
pd.PrintController.OnEndPrint(pd, new PrintEventArgs());
}
//打印事件处理
private void pd_PrintPage(object sender, PrintPageEventArgs e)
{
string date = DateTime.Now.ToString(); //当前日期
string flowId = "A0000-00001"; //流水号
string payDate = DateTime.Now.ToString("yyyy年MM月"); //应收年月
string adminId = "A-01"; //操作员编号
string baseExpense = "50.00"; //应交基本费用
string fine = "30.00"; //罚款数目
string upExpense = "-20.00"; //上月上余
string actualExpense = "50.00"; //实际应交费用
string chineseExpense = "伍十圆整"; //实际应交费用的中文大写
//读取图片模板
Image temp = Image.FromFile(@"Receipts.jpg");
GetResultIntoImage(ref temp, "1", flowId, date, baseExpense, fine, upExpense, actualExpense, chineseExpense, payDate, adminId);
int x = e.MarginBounds.X;
int y = e.MarginBounds.Y;
int width = temp.Width;
int height = temp.Height;
Rectangle destRect = new Rectangle(x, y, width, height);
e.Graphics.DrawImage(temp, destRect, 0, 0, temp.Width, temp.Height, System.Drawing.GraphicsUnit.Pixel);
}
/// <summary>
/// 将收费结果填充到图片模板
/// </summary>
private void GetResultIntoImage(
ref Image temp,
string userId,
string flowId,
string currentDate,
string baseExpense,
string fine,
string upExpense,
string actualExpense,
string chineseExpense,
string payDate,
string adminName)
{
//读取图片模板
Graphics g = Graphics.FromImage(temp);
Font f = new Font("宋体", 12);
Brush b = new SolidBrush(Color.Black);
//填充数据到图片模板(位置要在制作图片模板的时候度量好)
g.DrawImage(temp, 0, 0, temp.Width, temp.Height);
g.DrawString(userId, f, b, 168, 105);
g.DrawString("Admin", f, b, 166, 134);
g.DrawString(flowId, f, b, 535, 105);
g.DrawString(currentDate, f, b, 535, 134);
g.DrawString(baseExpense, f, b, 219, 202);
g.DrawString(fine, f, b, 372, 202);
g.DrawString(upExpense, f, b, 486, 202);
g.DrawString(actualExpense, f, b, 596, 202);
g.DrawString(chineseExpense, f, b, 196, 238);
g.DrawString(payDate, f, b, 176, 269);
g.DrawString(adminName, f, b, 497, 298);
g.Dispose();}
自己把需要打印纸的大小 做一张同样大小 空白的图片 这里我使用的是图片进行打印 打印的数据乃是使用在图片上面进行坐标控制 等第一张打出来了 其余的慢慢调下就好了
Ⅱ C#winform界面特效源码,求大神大一些,初学者,谢谢
看这个:http://blog.csdn.net/meiyun/article/details/7722397
一共470多例winform 界面特效的源码。
窗体与界面设计... 9
实例001 带历史信息的菜单 10
实例002 菜单动态合并 12
实例003 像开始菜单一样漂亮的菜单... 14
实例004 任务栏托盘菜单 15
实例005 可以拉伸的菜单界面 16
实例006 菜级联菜单 18
1.2 工具栏设计... 19
实例007 带带背景的工具栏 19
实例008 带浮动工具栏 20
实例009 在带下拉菜单的工具栏... 21
实例010 在具有提示功能的工具栏... 22
实例011 在状态栏中显示检查框... 23
实例012 带进度条的状态栏 25
实例013 状态栏中加入图标 26
实例014 OutLook界面 27
实例015 带带导航菜单的主界面... 29
实例016 图形化的导航界面 32
实例017 菜类QQ的程序界面 35
实例018 类似windows xp的程序界面... 38
实例019 以图形按钮显示的界面... 42
实例020 以树形显示的程序界面... 44
实例021 动态按钮的窗体界面 46
实例022 非矩形窗体 50
实例023建立字体形状窗体 52
实例024控件随窗体自动调整 54
实例025带分隔栏的窗体 55
实例026随机更换主界面背景 56
实例027自动启动的多媒体光盘程序... 57
实例028为触摸屏程序添加虚拟键盘... 59
实例029半透明渐显窗体 61
实例030窗口颜色的渐变 63
实例031窗体中的滚动字幕 65
实例032动画显示窗体 67
实例033制作闪烁的窗体 69
实例034直接在窗体上绘图 70
实例035动画形式的程序界面 73
实例036使窗体标题栏文字右对齐... 75
实例037没有标题栏可义改变大小的窗口... 76
实例038设置窗体在屏幕中的位置... 77
实例039始终在最上面的窗体 78
实例040限制窗体大小 79
实例041获取桌面大小 81
实例042在窗口间移动按扭 82
实例043如何实现Office助手 84
实例044在关闭窗口前加入确认对话框... 85
实例045使用任意组件拖动窗体... 88
实例046修改提示字体及颜色 89
实例047如何为MDI类型窗体设置背景图片... 91
实例048向提示框中添加图标 93
实例418通过串口发送数据 95
实例419通过串口关闭对方计算机... 98
实例420密码写入与读出加密狗... 101
实例421使用加密狗进行身份验证... 105
实例422向IC卡中写入数据 107
实例423读取IC卡中的数据 113
实例424利用IC卡制作考勤程序... 116
实例425简易视频程序 119
实例426摄像头监控录像 125
实例427超市摄像头定时监控系统... 127
实例428语音卡电话呼叫系统 132
实例429客户来电查询系统 141
实例430语音卡实现电话录音 144
实例431利用短信猫收发短信息... 147
实例432利用短信远程关闭计算机... 155
实例433短信息采集烟草销售数据... 159
实例434“春晚”节目评比短信息互动平台... 164
实例435条形码扫描器销售商品... 167
实例436利用神龙卡制作练歌房程序... 169
实例463数据加密技术 174
实例464文本文件加密与解密 177
实例465利用图片加密文件 188
实例466如何编程修复Access数据库... 194
实例467访问带验证模式的Sqlserver 2000数据库... 197
实例468利用INI文件对软件进行注册... 201
实例469利用注册表设计软件注册程序... 204
实例470利用网卡序列号设计软件注册程序... 208
实例471根据cpu序列号、磁盘序列号设计软件注册程序... 214
Ⅲ c#winform 为什么有时候获取不到ip,有时候获取的ip前有:: ,那位给个有效的源码
你取的可能是IPv6的地址。在某台机子上如果配置的网卡多或一个网卡设置了多个IP,就需要你自己判断一下哪个是你需要的IP。
System.Net.IPAddress[] address = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList;
//address数组中可能会有多个,如win7中除了ipv4还会有ipv6的,还有可能你设置了多个IP。
//自己判断下该取哪个数组中的IP地址。
string strIP = address[0].ToString();
Ⅳ c# Winform 实现登录界面验证码功能(文末附源码)
闲来无事,最近自己发现自己的验证码功能还没有写过。于是就写下了这篇文章。
界面就比较丑了,一个picturebox,一个textbox,一个button按钮主要想的是先把功能实现了,万一以后业务上需要使用呢。
实现以后的功能图
在文本框中输入对应文字,点击确定来验证,正确时候如图所示
如果验证失败,没有提示,直接更新验证码,当然需要使用的时候根据业务逻辑来就是了,这个就比较简单了。
第一:生成验证码字符串,用到的是Random随机函数
第二:将该字符串画在picturebox中
第三点击图片,刷新验证码
第四验证验证码不区分大小写
或者区分大小写
此时完成
源码:
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 suijima
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//验证码的长度
private const int iVerifyCodeLength = 6;
//验证码
private String strVerifyCode = "";
//匹配字符的临时变量
string strTemp = "";
private void btnUpdate_Click(object sender, EventArgs e)
{
UpdateVerifyCode();
}
private void Form1_Load(object sender, EventArgs e)
{
UpdateVerifyCode();
}
//更新验证码
private void UpdateVerifyCode()
{
strVerifyCode = CreateRandomCode(iVerifyCodeLength);
if(strVerifyCode=="")
{
return;
}
strTemp = strVerifyCode;
CreateImage(strVerifyCode);
}
//生成验证码字符串
private string CreateRandomCode(int iLength)
{
int rand;
char code;
string randomCode = String.Empty;
//生成一定长度的验证码
System.Random random = new Random();
for (int i = 0; i < iLength; i++)
{
rand = random.Next();
if (rand % 3 == 0)
{
code = (char)('A' + (char)(rand % 26));
}
else
{
code = (char)('0' + (char)(rand % 10));
}
randomCode += code.ToString();
}
return randomCode;
}
/// 创建验证码图片
private void CreateImage(string strVerifyCode)
{
try
{
int iRandAngle = 45; //随机转动角度
int iMapWidth = (int)(strVerifyCode.Length * 21);
Bitmap map = new Bitmap(iMapWidth, 28); //创建图片背景
Graphics graph = Graphics.FromImage(map);
graph.Clear(Color.AliceBlue);//清除画面,填充背景
graph.DrawRectangle(new Pen(Color.Black, 0), 0, 0, map.Width - 1, map.Height - 1);//画一个边框
graph.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;//模式
Random rand = new Random();
//背景噪点生成
Pen blackPen = new Pen(Color.LightGray, 0);
for (int i = 0; i < 50; i++)
{
int x = rand.Next(0, map.Width);
int y = rand.Next(0, map.Height);
graph.DrawRectangle(blackPen, x, y, 1, 1);
}
//验证码旋转,防止机器识别
char[] chars = strVerifyCode.ToCharArray();//拆散字符串成单字符数组
//文字距中
StringFormat format = new StringFormat(StringFormatFlags.NoClip);
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
//定义颜色
Color[] c = { Color.Black, Color.Red, Color.DarkBlue, Color.Green,
Color.Orange, Color.Brown, Color.DarkCyan, Color.Purple };
//定义字体
string[] font = { "Verdana", "Microsoft Sans Serif", "Comic Sans MS", "Arial", "宋体" };
for (int i = 0; i < chars.Length; i++)
{
int cindex = rand.Next(7);
int findex = rand.Next(5); Font f = new System.Drawing.Font(font[findex], 13, System.Drawing.FontStyle.Bold);//字体样式(参数2为字体大小)
Brush b = new System.Drawing.SolidBrush(c[cindex]);
Point dot = new Point(16, 16);
float angle = rand.Next(-iRandAngle, iRandAngle);//转动的度数
graph.TranslateTransform(dot.X, dot.Y);//移动光标到指定位置
graph.RotateTransform(angle);
graph.DrawString(chars[i].ToString(), f, b, 1, 1, format);
graph.RotateTransform(-angle);//转回去
graph.TranslateTransform(2, -dot.Y);//移动光标到指定位置
}
pictureBox1.Image = map;
}
catch (ArgumentException)
{
MessageBox.Show("创建图片错误。");
}
}
private void button1_Click(object sender, EventArgs e)
{
//验证大小写
char[] ch1 = textBox1.Text.ToCharArray();
char[] ch2 = strTemp.ToCharArray();
int nCount = 0;
for (int i = 0; i < strTemp.Length;i++ )
{
if((ch1[i]>='a'&&ch1[i]<='z')||(ch1[i]>='A'&&ch1[i]<='Z'))
{
if (ch1[i] - 32 == ch2[i] || ch1[i] + 32 == ch2[i])
{
nCount++;
}
}
else
{
if (ch1[i]==ch2[i])
{
nCount++;
}
}
}
if (nCount==strTemp.Length)
{
MessageBox.Show("验证通过");
}
else
{
UpdateVerifyCode();
textBox1.Text = "";
}
////不能验证大小写
//if(textBox1.Text==strTemp)
//{
// MessageBox.Show("验证通过");
//}
//else
//{
// UpdateVerifyCode();
// textBox1.Text = "";
//}
}
/// <summary>
/// 图片点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pictureBox1_Click(object sender, EventArgs e)
{
UpdateVerifyCode();
}
}
}
Ⅳ Winform 在datagridview控件中增删改的源码
//删除
private void 删除用户ToolStripMenuItem_Click(object sender, EventArgs e)
{
string UserId = dgvUserInfo.SelectedRows[0].Cells[0].Value.ToString();
string delete = "delete from 用户表 where 用户编号=" + UserId;
bb.Connection = aa;
bb.CommandText = delete;
aa.Open();
bb.ExecuteNonQuery();
aa.Close();
dgvUserInfo.Rows.Remove(dgvUserInfo.SelectedRows[0]);
}
//增加
List<User> list = new List<User>();
string UserName = txtUserName.Text;
string UserPsw = txtUserPsw.Text;
string UserRight = txtUserRight.Text;
string Sql = "insert 用户表(用户名,密码,权限) values('"+UserName+"','"+UserPsw+"','"+UserRight+"')";
SqlConnection aa = new SqlConnection("Data Source=ST412\\SQLEXPRESS;Initial Catalog=44;Integrated Security=True");
SqlCommand bb = new SqlCommand();
bb.Connection = aa;
bb.CommandText = Sql;
aa.Open();
bb.ExecuteNonQuery();
Ⅵ .net 的winform程序源码要如何制作成应用程序
简单的你按F5运行一下,在程序目录下面的bin下面的debug目录里面就已经生成对应的exe文件了。如果要制作安装包,可以新建一个安装部署的项目(具体你可以搜索一下,很简单)。或者用专门的安装包制作软件来制作。
两种方法:一、数据库单独备份出来,安装的时候提示用户要安装数据库。二、做一个数据库安装程序(就是用执行建库程序,这方面的资料可以搜索到,就是执行一些SQL的api函数,相当于手动附加数据库上去)另外如果你的access这样的数据库的话,直接打包进去就行了
installsheild这个打包软件是很有名的。或者用VS自带的安装部署也可以。新建项目--其它项目类型--安装和部署当然.net下的优势就是x优势,其实用winrar把需要用的dll等文件压缩到一个文件夹里,复制到目标机器解压缩就可以使用了。