当前位置:首页 » 操作系统 » winform框架源码

winform框架源码

发布时间: 2023-09-01 10:46:07

A. C# winform 如何获取网页源码中的数据

private void button1_Click(object sender, EventArgs e)
{
try
{
if (this.txtUrl.Text.Trim().Length == 0)
{
("请输入主入口地址!");
}
else
{
//这里获取GetWebContent方法的结果
string webContent = GetWebContent(this.txtUrl.Text.Trim());

//声明一个WebBrowser
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate("about:blank");

//将GetWebContent方法返回的结果转化为HtmlDocument,就可以正确处理网页中的元素了。
HtmlDocument htmlDoc = webBrowser.Document.OpenNew(true);
htmlDoc.Write(webContent);

//获取网页中Body中的Html代码
string outerHtml = htmlDoc.Body.OuterHtml;
//获取网页的标题
string outerTitle=htmlDoc.Title;

this.txtDocumentTitle.Text = outerTitle;
this.txtDocumentConent.Text = outerHtml;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

B. C# Winform满分求源码示例[EXCEL模版套版打印],带预览。

虽然您明说了不要第三方控件,但还是要忍不住向您推荐一个!
名叫Grid++Report,支持多种编程语言!支持Web、WinForm!例子代码基本直接复制就用!现在的版本是5.8,打印只是预览时才有免费水印,不影响打印。

PS:用了她3年,就当为她做个广告!

另外,对于Excel,公司协议不能直接给您上代码,但编程经验可以分享下:
通过在Excel中定义操作参数,例如"@@cName"表示“单据头某单元格的值”应该替换为表头上"cName"列的值!$$HeadBegin、$$RowBegin表示单据头、单据体的开始区域等,这样的Excel套打也不难做。

C. 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();

        }

    }

}

D. .net 的winform程序源码要如何制作成应用程序

简单的你按F5运行一下,在程序目录下面的bin下面的debug目录里面就已经生成对应的exe文件了。如果要制作安装包,可以新建一个安装部署的项目(具体你可以搜索一下,很简单)。或者用专门的安装包制作软件来制作。

两种方法:一、数据库单独备份出来,安装的时候提示用户要安装数据库。二、做一个数据库安装程序(就是用执行建库程序,这方面的资料可以搜索到,就是执行一些SQL的api函数,相当于手动附加数据库上去)另外如果你的access这样的数据库的话,直接打包进去就行了

installsheild这个打包软件是很有名的。或者用VS自带的安装部署也可以。新建项目--其它项目类型--安装和部署当然.net下的优势就是x优势,其实用winrar把需要用的dll等文件压缩到一个文件夹里,复制到目标机器解压缩就可以使用了。

热点内容
我的世界手游服务器刷钻石教程 发布:2025-02-01 01:48:13 浏览:773
sqlifthen男女 发布:2025-02-01 01:44:59 浏览:690
幻灵和安卓哪个互通 发布:2025-02-01 01:43:33 浏览:648
电脑配置够但为什么打lol掉帧 发布:2025-02-01 01:37:08 浏览:316
21款朗逸哪个配置比较划算 发布:2025-02-01 01:35:32 浏览:976
建筑动画片脚本 发布:2025-02-01 01:35:21 浏览:469
管家婆如何用阿里云服务器 发布:2025-02-01 01:29:09 浏览:649
解压耳放 发布:2025-02-01 01:20:18 浏览:176
cars算法 发布:2025-02-01 01:02:26 浏览:177
数据库超载 发布:2025-02-01 00:57:15 浏览:33