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交互介绍 点击打开链接
- winform使用webbrowser 相关
- WinForm中使用WebBrowser
- c#winform使用WebBrowser 大全
- WinForm webbrowser控件的使用
- c#winform使用WebBrowser 大全
- WinForm webbrowser控件的使用
- c#winform使用WebBrowser 大全
- Winform中WebBrowser控件的使用技巧
- C#webBrowser使用代理服务器的方法winform
- 关于 WinForm中webbrowser控件的使用
- WinForm WebBrowser用法扩展
- C# WinForm - WebBrowser
- C# Winform WebBrowser控件
- 江左盟[Winform]winform使用WebBrowser知道IE的版本浏览页面
- C# WinForm开发系列 - WebBrowser
- C#-WinForm中WebBrowser应用
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- 最小生成树(Prim和Kruskal)
- mysql 事务
- WaveInOpen
- PowerBuilder学习笔记(4)数据窗口(DataWindow)
- Linux C调用C++库
- winform使用webbrowser 相关
- UVa 11137 - Ingenuous Cubrency
- 每天一点linux指令【一】
- 程序员的出路之一
- 10739 - String to Palindrome
- PHP自学之路-----走进PHP函数
- GitHub Android 开源项目汇总
- CentOS 6.4 中iptables 配置详解
- MySQL Connector Net 6.6.5 Entity Framework 显式预加载 Eager Load Bug