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等文件壓縮到一個文件夾里,復制到目標機器解壓縮就可以使用了。