当前位置:首页 > 代码 > 正文

winfrom源代码(winfrom框架)

admin 发布:2022-12-19 03:02 134


今天给各位分享winfrom源代码的知识,其中也会对winfrom框架进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

winform C# iis 定时重启 源代码

这个很简单 写个Console或者Service程序计时 到了指定时候 使用Process类执行iisreset命令即可 例如: class Program { static void Main(string[] args) { Console.WriteLine("iis reset every 30 minutes......"); Thread t = new Thread(() = { if (DateTime.Now.Minute == 30) Process.Start("iisreset"); } ); t.Start(); Console.ReadLine(); } }

采纳哦

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 加载窗体时弹出另一个窗体并显示进度条的源码

//frmA: 源窗体

//------------------------------------------

//引用

using System.Threading;

public frmA()

{

InitializeComponent();

worker = new BackgroundWorker();

worker.DoWork += new DoWorkEventHandler(worker_DoWork);

worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);

}

/// summary

/// 异步 开始事件

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void worker_DoWork(object sender, DoWorkEventArgs e)

{

//需要执行的代码

}

/// summary

/// 事件: 异步执行完成后

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

{

MessageBox.Show("执行完成。", "run", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

//点击一个按钮后开始执行

private void btnA_Click(object sender, EventArgs e)

{

//代码

......

//异步执行开始

worker.RunWorkerAsync(tableName);

//显示进度窗体

frmB frm = new frmB(this.worker);

frm.StartPosition = FormStartPosition.CenterScreen;

frm.ShowDialog(this);

}

frmB:

//里面放了一个loading.gif图片显示进度

------------------------------------------------------------

using System;

using System.ComponentModel;

using System.Windows.Forms;

namespace test

{

public partial class frmB: Form

{

public frmB(BackgroundWorker worker)

{

InitializeComponent();

worker.ProgressChanged +=new ProgressChangedEventHandler(worker_ProgressChanged);

worker.RunWorkerCompleted +=new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);

}

void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

{

this.Close();

}

void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)

{

//lblStatus.Text = "";

}

//工作完成后执行的事件

public void OnProcessCompleted(object sender, EventArgs e)

{

this.Close();

}

}

另外,站长团上有产品团购,便宜有保证

怎么在c#_winform实现图片上传功能,求源代码,有图更好,高分啊

给你个例子:

将一张图片上传到指定的文件夹,然后在窗体上的PictrueBox控件中显示出来,效果看图

代码如下:

private void btnUpload_Click(object sender, EventArgs e)

{

//创建一个对话框对象

OpenFileDialog ofd = new OpenFileDialog();

//为对话框设置标题

ofd.Title = "请选择上传的图片";

//设置筛选的图片格式

ofd.Filter = "图片格式|*.jpg";

//设置是否允许多选

ofd.Multiselect = false;

//如果你点了“确定”按钮

if (ofd.ShowDialog()== System.Windows.Forms.DialogResult.OK)

{

//获得文件的完整路径(包括名字后后缀)

string filePath = ofd.FileName;

//将文件路径显示在文本框中

txtImgUrl.Text = filePath;

//找到文件名比如“1.jpg”前面的那个“\”的位置

int position = filePath.LastIndexOf("\\");

//从完整路径中截取出来文件名“1.jpg”

string fileName = filePath.Substring(position+1);

//读取选择的文件,返回一个流

using (Stream stream = ofd.OpenFile())

{

//创建一个流,用来写入得到的文件流(注意:创建一个名为“Images”的文件夹,如果是用相对路径,必须在这个程序的Degug目录下创建

//如果是绝对路径,放在那里都行,我用的是相对路径)

using (FileStream fs = new FileStream(@"./Images/" + fileName, FileMode.CreateNew))

{

//将得到的文件流复制到写入流中

stream.CopyTo(fs);

//将写入流中的数据写入到文件中

fs.Flush();

}

//PictrueBOx 显示该图片,此时这个图片已经被复制了一份在Images文件夹下,就相当于上传

//至于上传到别的地方你再更改思路就行,这里只是演示过程

pbShow.ImageLocation = @"./Images/" + fileName;

}

winfrom源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于winfrom框架、winfrom源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/1367.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载