當前位置:首頁 » 操作系統 » winform考試源碼

winform考試源碼

發布時間: 2024-08-18 23:06:31

㈠ 網上有一款軟體AccExplorer,我想知道他怎麼實現的一下功能,求指導,求C#WinForm源碼

findwindow什麼的是不行的,大公司軟體用的都是新界面技術,directUI,你只能得到最外層的父窗口句柄,裡面的控制項都是繪制出來的邏輯控制項,沒有句柄,你用spy++和accexplorer分別捕捉一個聊天窗口就知道了,spy++用的就是普通的enumwindows,只能看到最外層的TXGUIFoundation,有興趣加一零四三三三四七一七

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

㈢ C#winform不知道文件大小(文件很大3G以上)和所用時間,如何做一個同步進度條求源碼,謝謝了!

這個要用多線程或線程池來做,下面是用線程池的一個例子

ThreadPool.QueueUserWorkItem(
newWaitCallback(obj1=>
{
for(inti=0;i<100;i++)
{
//這里載入你的數據
PValue++;//這個變數是用來給進度條的進度賦值的屬性,每載入一條你就加1
}

})
);


privatestaticintpValue;
publicintPValue
{
get{returnpValue;}
set
{
pValue=value;
}
}

㈣ 求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 實現登錄界面驗證碼功能(文末附源碼)

閑來無事,最近自己發現自己的驗證碼功能還沒有寫過。於是就寫下了這篇文章。

界面就比較丑了,一個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();

        }

    }

}

㈥ .net 的winform程序源碼要如何製作成應用程序

簡單的你按F5運行一下,在程序目錄下面的bin下面的debug目錄裡面就已經生成對應的exe文件了。如果要製作安裝包,可以新建一個安裝部署的項目(具體你可以搜索一下,很簡單)。或者用專門的安裝包製作軟體來製作。

兩種方法:一、資料庫單獨備份出來,安裝的時候提示用戶要安裝資料庫。二、做一個資料庫安裝程序(就是用執行建庫程序,這方面的資料可以搜索到,就是執行一些SQL的api函數,相當於手動附加資料庫上去)另外如果你的access這樣的資料庫的話,直接打包進去就行了

installsheild這個打包軟體是很有名的。或者用VS自帶的安裝部署也可以。新建項目--其它項目類型--安裝和部署當然.net下的優勢就是x優勢,其實用winrar把需要用的dll等文件壓縮到一個文件夾里,復制到目標機器解壓縮就可以使用了。

熱點內容
伺服器屏蔽一段ip 發布:2024-11-25 08:52:06 瀏覽:100
售茶源碼 發布:2024-11-25 08:37:29 瀏覽:463
壓縮包改直鏈 發布:2024-11-25 08:34:33 瀏覽:611
安卓機的照片如何傳送到蘋果機上 發布:2024-11-25 08:32:48 瀏覽:917
手游伺服器怎麼找ip 發布:2024-11-25 08:23:10 瀏覽:752
c語言名次 發布:2024-11-25 08:04:22 瀏覽:56
新浪雲伺服器登錄 發布:2024-11-25 08:04:21 瀏覽:854
工控機伺服器電腦的區別 發布:2024-11-25 08:04:21 瀏覽:514
Python對比matlab 發布:2024-11-25 07:45:58 瀏覽:307
ovt機頂盒管理員密碼多少 發布:2024-11-25 07:45:58 瀏覽:378