winform使用webbrowser 相关

来源:互联网 发布:淘宝衣服好评语100字 编辑:程序博客网 时间:2024/05/03 18:40

最近玩玩的,顺便......

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;using System.Data.OleDb;using System.Threading;using System.IO;namespace FTTH改造工程设备关联辅助工具{    public partial class Form1 : Form    {        DataSet 读取表格数据 = new DataSet();        string[] 列名 = new string[] { "设备编号", "查询号码", "用户地址", "完成状态", "完成时间" };        public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {            创建数据显示(列名, 数据集);            数据集.Columns[2].Width = 580;            string 网页 = Application.StartupPath + "\\万年历查询.htm"; 打开网页.Navigate(网页);        }        private void 退出_Click(object sender, EventArgs e)        {            this.Close();        }        private void 导入数据_Click(object sender, EventArgs e)        {            OpenFileDialog 打开文件 = new OpenFileDialog();            打开文件.Filter = "Excel表格文件(xlsx)|*.xlsx;|Excel表格文件(xls)|*.xls;|文本文件(txt)|*.txt;|所有文件(*.*)|*.*";            if (打开文件.ShowDialog() == DialogResult.OK)            {                if (打开文件.FileName.Contains(".xls"))                    读取微软表格文件(打开文件.FileName);            }            else 数据集.DataSource = null;        }        private void 读取微软表格文件(string 文档名)        {            string 微软表格 = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + 文档名 + "; Extended Properties = \"Excel 12.0 Xml; HDR = No\"";            OleDbConnection 表格文件 = new OleDbConnection(微软表格);            表格文件.Open();            OleDbDataAdapter 连接表格 = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", 表格文件);            连接表格.Fill(读取表格数据, "读取Excel数据");            表格文件.Close();            数据集.DataSource = 读取表格数据.Tables["读取Excel数据"];            控制颜色(数据集);        }        private void 创建数据显示(string[] 表名, DataGridView 控件名)        {            控件名.Columns.Clear();            foreach (string 元素 in 表名)            {                DataGridViewTextBoxColumn 列 = new DataGridViewTextBoxColumn();                列.HeaderText = 元素; 列.DataPropertyName = 元素;                列.MaxInputLength = 3988; 控件名.Columns.Add(列);            }        }        private void 控制颜色(DataGridView 控件名)        {            for (int 颜色 = 0, 行数 = 控件名.RowCount; 颜色 < 行数; 颜色++)                if (颜色 % 2 == 0) 控件名.Rows[颜色].DefaultCellStyle.BackColor = Color.AliceBlue;        }        private void 提取数据_Click(object sender, EventArgs e)        {            /*for (int 数 = 0; 数 < 数据集.RowCount; 数++)            { }            string 发送号码 = 数据集.Rows[数].Cells[1].Value.ToString();                HtmlElement ID控件 = 打开网页.Document.All["PSTNCodeInput"];                if (ID控件 != null) ID控件.SetAttribute("value", 发送号码);                Thread.Sleep(50);                HtmlElement ID按钮 = 打开网页.Document.All["SearchButton"];                if (ID按钮 != null) ID按钮.InvokeMember("click");                Thread.Sleep(2000);                ID控件 = 打开网页.Document.All["AddressNameInput"];                数据集.Rows[数].Cells[2].Value = ID控件.GetAttribute("value");*/        }        private void 连接网站_Click(object sender, EventArgs e)        {            打开网页.Navigate(new Uri(网址.Text.Trim()));        }        private void 数据集_CellDoubleClick(object sender, DataGridViewCellEventArgs e)        {            int 定行 = 数据集.CurrentCellAddress.Y, 定列 = 数据集.CurrentCellAddress.X;            if (定列 == 3)            {                数据集.Rows[定行].Cells[3].Value = "√";                数据集.Rows[定行].Cells[4].Value = DateTime.Now.ToShortDateString();            }            if (定列 < 3)                Clipboard.SetText(数据集.Rows[定行].Cells[定列].Value.ToString());                    }        private void 导出数据_Click(object sender, EventArgs e)        {            Microsoft.Office.Interop.Excel.Application 创建Excel文件 = new Microsoft.Office.Interop.Excel.Application();            this.Invoke(new Action(delegate()            {                创建Excel文件.Application.Workbooks.Add(true);                for (int 标头 = 0; 标头 < 列名.Length; 标头++) 创建Excel文件.Cells[1, 标头 + 1] = 列名[标头];                for (int 行 = 0, 数 = 数据集.RowCount; 行 < 数; 行++)                {                    数据集.CurrentCell = 数据集.Rows[行].Cells[0];                    for (int 列 = 0, 量 = 数据集.ColumnCount; 列 < 量; 列++)                        创建Excel文件.Cells[行 + 2, 列 + 1] = "'" + 数据集.Rows[行].Cells[列].Value;                }                创建Excel文件.Visible = true;/* 创建Excel文件.SaveWorkspace();*/ 创建Excel文件.Quit();            }));            MessageBox.Show("数据导出Excel成功,请保存好!" + 数据集.RowCount.ToString() + "行数据。", "友情提示!"); 创建Excel文件.Quit();        }        private void 数据集_DragDrop(object sender, DragEventArgs e)        {            if (e.Data.GetDataPresent(typeof(System.String)) && 数据集.Rows.Count > 0)            {                Point clientPoint = 数据集.PointToClient(new Point(e.X, e.Y));                数据集.Rows[数据集.HitTest(clientPoint.X, clientPoint.Y).RowIndex].Cells[数据集.HitTest(clientPoint.X,                clientPoint.Y).ColumnIndex].Value = (System.String)e.Data.GetData(typeof(System.String));            }            int 定行 = 数据集.CurrentCellAddress.Y, 定列 = 数据集.CurrentCellAddress.X;            string 数据整理 = 数据集.Rows[定行].Cells[2].Value.ToString();            if (数据整理.Contains("|")) if (数据整理.Length - 数据整理.IndexOf("|") < 3)                数据集.Rows[定行].Cells[2].Value = 数据整理.Remove(数据整理.IndexOf("|")).Trim();        }        private void 数据集_DragEnter(object sender, DragEventArgs e)        {            if (数据集.Rows.Count > 0)                e.Effect = (e.Data.GetDataPresent(typeof(System.String))) ?                    DragDropEffects.Copy : DragDropEffects.None;        }        private void 打开网页_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)        {            int 定行 = 数据集.CurrentCellAddress.Y, 定列 = 数据集.CurrentCellAddress.X;            HtmlElement ID控件 = 打开网页.Document.All["PSTNCodeInput"];            if (e.KeyCode == Keys.Enter)                if (ID控件 != null)/*赋值*/                    ID控件.SetAttribute("value", 数据集.Rows[定行].Cells[定列].Value.ToString());            if (e.KeyCode == Keys.Space)            {                ID控件 = 打开网页.Document.All["AddressNameInput"];/*获值*/                if (数据集.Rows.Count > 0)                {                    if (ID控件 != null)数据集.Rows[定行].Cells[2].Value = ID控件.GetAttribute("value");                    string 数据整理 = 数据集.Rows[定行].Cells[2].Value.ToString();                    if (数据整理.Contains("|")) if (数据整理.Length - 数据整理.IndexOf("|") < 3)                        数据集.Rows[定行].Cells[2].Value = 数据整理.Remove(数据整理.IndexOf("|")).Trim();                }            }        }    }}

 也找一些资料看看同时记录备用:C# WinForm程序如何与js交互介绍 点击打开链接

原创粉丝点击