![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WinForm
wwm402654282
这个作者很懒,什么都没留下…
展开
-
TWebBrowser 与 MSHTML(5): document 对象的属性、方法、事件纵览
{IHTMLDocument2 方法:}write //写入writeln //写入并换行open //打开一个流,以收集 document.write 或 document.writeln 的输出close //关闭并输出用 document.open 方转载 2015-06-03 14:07:34 · 1112 阅读 · 0 评论 -
TabControl闪烁的题目
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace MQXS.Forms{ public class NewTabControl : TabControl {转载 2014-01-11 22:07:35 · 1498 阅读 · 0 评论 -
在任务栏中添加控件 如360小助手、QQ桌面小助手
当点击 右下角的三角形时 任务栏刷新后 就重新排版了 按钮就看不见或者看不全了 可以进行定时设置(有更好的方法请告诉我一声··) bool ReBarWinMoveResult = Win32.MoveWindow(ReBarWin, rc_temp.X + rect.X, 0, rc_temp.Width - rect.Width, rc_temp.Height, true);原创 2013-12-18 14:53:18 · 1847 阅读 · 0 评论 -
通过句柄嵌入程序到外部程序中
protected override HandleRef BuildWindowCore( HandleRef hwndParent){appProc = new Process ();appProc.StartInfo.WindowStyle = ProcessWindowStyle .Hidden;appProc.StartInfo.FileName = @"D:\greeninst\转载 2013-12-18 09:41:38 · 900 阅读 · 1 评论 -
模拟标题栏,移动或双击可以最大或最小化窗体
internal static int WM_NCHITTEST = 0x84; //移动鼠标,按住或释放鼠标时发生的系统消息internal static IntPtr HTCLIENT = (IntPtr)0x1;//工作区internal static IntPtr HTCAPTION = (IntPtr)0x2; //标题栏protected override void Wnd转载 2013-11-19 11:03:14 · 1276 阅读 · 0 评论 -
c# 正则表达式 根据cookie名字取值
public string getCookie(string cookiesString, string cookieName) { return Regex.Match(cookiesString, "(^| )" + cookieName + "=([^;]*)(;|$)").Value; }使用方式string cookiesStr原创 2013-09-03 15:58:16 · 1860 阅读 · 1 评论 -
Linq学习
自从学习LINQ以来,我发现了很多使用LINQ来改善代码的方式。每一个技巧都让代码写起来更简单,可读性更强。这里总结了这些技巧。我会介绍如何使用LINQ来:初始化数组在一个循环中遍历多个数组生成随机序列生成字符串转换序列或集合把值转换为长度为1的序列遍历序列的所有子集如果你在LINQ方面有心得也欢迎在评论中一起分享。1. 初始化数组通常,我们需要把数组的值初始化为相同的值或转载 2013-06-08 10:15:32 · 547 阅读 · 0 评论 -
c# HttpWebRequest 抓取网页 自动编码
public WebPage(string _url, string _loginurl, string _post) { string uurl = ""; try { uurl = Uri.UnescapeDataString(_url); _url = uurl; }转载 2013-05-17 14:28:00 · 1828 阅读 · 0 评论 -
C#代码解释器
1、C#代码解释器简介能够动态执行 C#代码是一件很酷的功能,比如,我们可以在控制台中输入一行 C#代码,然后程序自动编译并执行这一行代码,将结果显示给我们。这差不多就是一个最简单的 C#代码解释器了。动态执行 C#代码又是一件很有用的功能,比如,我们可以将某些代码写在某个文件之中,由程序集在执行时进行加载,改变这些代码不用中止程序,当程序再次加载这些代码时,就自动执行的是新代码了转载 2013-04-24 15:44:22 · 2631 阅读 · 0 评论 -
C#程序怎么操作某个进程的窗体显示隐藏
Intptr intptr=Process. GetProcessesByName("name").Handle; ShowWindow(intptr,0);ShowWindow(intptr,1); [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]static extern bool转载 2013-04-10 11:19:05 · 3753 阅读 · 0 评论 -
C# 获取任务栏显示的进程
private static void getWindowsInfo() { try { Process[] MyProcesses = Process.GetProcesses(); string[] Minfo = new string[6];转载 2013-04-10 11:15:59 · 2531 阅读 · 0 评论 -
C# 实现系统关机、注销、重启、休眠、挂起
核心代码如下:using System;using System.Text;using System.Diagnostics;using System.Runtime.InteropServices;namespace SystemManager{/// /// 枚举类型,指定可以允许的重启操作/// public enum RestartOptions { ///转载 2013-04-10 11:14:55 · 3129 阅读 · 1 评论 -
C#获取任务栏位置代码
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.Run转载 2013-04-10 11:14:13 · 1306 阅读 · 0 评论 -
DataGridView 列宽和行高自动调整的设定
1) 设定行高和列宽自动调整[C#]// 设定包括Header和所有单元格的列宽自动调整DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;// 设定包括Header和所有单元格的行高自动调整DataGridView1.AutoSizeRowsMod转载 2014-03-13 15:16:51 · 936 阅读 · 0 评论 -
C# 大文本的读取处理
在程序处理的过程中,我们通常读取的文件大小比较小,这样很好处理,但是如果遇见类似于5G这样的文件,使用常用的读取文件的方法显得就不行了.这个时候需要将文件进行拆分进行读取.下面是示例代码.private void BigFileRead(string strFilePath) { //每次读取的字节数 int转载 2014-03-21 11:00:48 · 1510 阅读 · 0 评论 -
操作IE
/// /// 获取IE句柄 /// /// private bool GetHandleOfBrowser() { IEHandle = FindWindowA("IEFrame", null); if (IEHandle == 0)转载 2015-06-19 11:31:56 · 1351 阅读 · 1 评论 -
双缓冲技术(C# GDI)
c#如何实现防窗体闪烁的功能。大家都会想到运用双缓冲技术,那么在c#中是如何做的?1、 利用默认双缓冲(1)在应用程序中使用双缓冲的最简便的方法是使用 .NET Framework 为窗体和控件提供的默认双缓冲。通过将 DoubleBuffered 属性设置为 true。 this.DoubleBuffered=true;(2)使用 SetStyle 方法可以为 Win转载 2015-03-05 16:41:08 · 775 阅读 · 0 评论 -
C#限制程序只能运行一個实例 (防多开)
//方法一:只禁止多个进程运行using System;using System.Collections.Generic;using System.Windows.Forms;namespace DuoYeMianIE{ static class Program { /// /// 应用程序的主入口点。转载 2015-02-25 10:45:51 · 910 阅读 · 0 评论 -
WebBrowser加载完毕后再往下执行
System.Threading.AutoResetEvent obj = new System.Threading.AutoResetEvent(false); void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { obj.Set(原创 2015-02-25 09:44:38 · 2667 阅读 · 0 评论 -
常见验证码的弱点与验证码识别
0x00 简介验证码作为一种辅助安全手段在Web安全中有着特殊的地位,验证码安全和web应用中的众多漏洞相比似乎微不足道,但是千里之堤毁于蚁穴,有些时候如果能绕过验证码,则可以把手动变为自动,对于Web安全检测有很大的帮助。全自动区分计算机和人类的图灵测试(英语:Completely Automated Public Turing test to tell Computers and转载 2015-01-22 14:48:47 · 914 阅读 · 0 评论 -
WinForm之控件拖动总结(原理篇)
WinForm之控件拖动总结(原理篇) 这几天在公司做项目涉及到了Winform的中涉及到控件项拖动的功能实现,比如TreeView中的项拖动添加到ListView中等。以前没有弄过。然后看了很多例子,还有msdn上面的帮助文档。在这篇文章中总结下。 本篇主要讲解,两个控件之间项拖动(那么就有一个控件称为源控件,一个称为目标控件)比如将TreeView中的某节点拖转载 2014-09-23 15:55:44 · 1349 阅读 · 0 评论 -
Winform TextBox中只能输入数字的几种常用方法(C#)
方法一:private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键 if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text转载 2014-07-22 16:05:24 · 1775 阅读 · 0 评论 -
WindowState 事件
private void Form1_Deactivate(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) this.Visible = false; }const int WM_SYSCOMMAN转载 2014-05-26 11:08:20 · 899 阅读 · 0 评论 -
c# WinForm 全局键盘事件怎么监听
重写窗体此函数 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)在这个函数里可以监控到所有按下的按键转载 2014-03-21 10:58:43 · 7140 阅读 · 3 评论 -
50种方法巧妙优化你的SQL Server数据库
50种方法巧妙优化你的SQL Server数据库 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查转载 2014-03-21 11:05:39 · 2336 阅读 · 0 评论 -
Graphics和BufferedGraphicsContext 效率测试对比
绘制Graphics时发现其效率并没有想象中的高 在百度了一下资料后发现有提供BufferedGraphicsContext双缓冲图形绘制类 遂测试一下和Graphics的效率 Bitmap bit; protected override void OnLoad(EventArgs e) { base.OnLoad(e原创 2013-01-20 14:31:02 · 3805 阅读 · 1 评论 -
C#拦截系统消息
继承IMessageFilter接口/**//*C#截取系统消息 */ //一、截取系统消息//方法一://添加监视消息private void Form_Load(object sender, System.EventArgs e){ Application.AddMessageFilter(this);}//撤消消息监视private void Form_Cl转载 2012-08-22 10:37:33 · 3193 阅读 · 0 评论 -
C#读取注册表,获取本机安装的软件清单
<br /> private void button1_Click(object sender, EventArgs e) { dataGridView1.Columns.Clear(); dataGridView1.Columns.Add("Name", "软件名"); dataGridView1.Columns.Add("Path", "地址"); using (Reg原创 2011-02-26 16:55:00 · 2345 阅读 · 0 评论 -
C# 获取正在运行的进程
<br /> <br />这只是一个列子 并没有其他操作 可以对进行匹配 比如进程名为 QQ 然后对数据库操作 查找qq进程在实体中的名字为 腾讯qq 并显示 等等、、、<br /> <br />private void Process_Load(object sender, EventArgs e) { dataGridView1.Columns.Clear(); dataGridView1.Columns.Add("Id", "句柄"原创 2011-02-26 16:43:00 · 3690 阅读 · 0 评论 -
WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键
<br />在使用WebBrowser做UI的时候,我们有时不希望里面的链接被用户点击,更不希望弹出烦人的脚本错误提示框,也不希望用户能点出右键的IE菜单,要做到这些,其实都是很easy地…<br />禁用错误脚本提示将 WebBrowser控件的 ScriptErrorsSuppressed 设为 true<br /> <br />禁用右键菜单将 WebBrowser 的 IsWebBrowserContextMenuEnabled 设为 false<br /> <br />禁用快捷键 将 WebBrow原创 2011-02-26 15:43:00 · 614 阅读 · 0 评论 -
LinkLabel多链接的使用方法
linkLabel1.Text = "链接一 链接二 链接三 链接四 链接YAHOO"; linkLabel1.Links.Add(0, 4, "http://www.xxoo.com/"); linkLabel1.Links.Add(9, 2, "http://www.xxoo.com/"); linkLabel1.Links.Add(12, 2, "http://www.xxoo.com/");原创 2011-02-26 15:38:00 · 1221 阅读 · 0 评论 -
C#语音朗读文本 — TTS的实现
TTS, Text To Speech的缩写,是使用语音朗读文本的技术。目前,在国内应用较多的是排队叫号系统Windows 平台的TTS,通常使用的是微软自带的 Speech API。Windows XP 自带的是 Speech API 5.1,默认是只支持英文的。如果要朗读中文,需要安装LangPack,里面支持简体中文,不过,是个男生的发音。从Vista开始,默认自带的 Microsoft Speech API 5.3,效果好了很多,可惜不支持XP,郁闷下面,说一下 C# 利用 TTS 来朗读文本的实现原创 2011-02-26 15:28:00 · 9711 阅读 · 2 评论 -
生成垃圾文件和测试代码执行时间
先把代码贴出来测试生成1000次耗时1.3..秒 每生成1G文件大概是0.00131527195233528 毫秒 当然咯 测试的时候时间都不同 但相差不了多少 和电脑性能有关下面是核心代码 将其改成无限循环的话~~~ using (FileStream fs = new FileStream("./22.tmp", System.IO.FileMode.Create)) { //1G大小的文件原创 2011-02-28 03:43:00 · 528 阅读 · 0 评论 -
邮件发送组件
<br />/// <summary>/// 邮件发送组件 /// </summary>public class EmailUtils{ static EmailUtils() { MailHost = ConfigurationManager.AppSettings["mailHost"]; MailUserName = ConfigurationManager.AppSettings["mailUserName"]; Mai原创 2011-02-28 01:52:00 · 571 阅读 · 0 评论 -
C# / .Net 批量重命名文件
<br />C#里面,重命名文件时,没有 rename 这个功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目录里一个新的名字,即实现了重命名<br />DirectoryInfo di = new DirectoryInfo(@"路径");int idx = 0;foreach (FileInfo fi in di.GetFiles())//可以用 di.GetFiles("*.jpg") 只重名jpg文件{//确定是增加前缀,还是后缀string toFil原创 2011-02-26 16:32:00 · 2081 阅读 · 0 评论 -
C#获取桌面壁纸图片的路径(Desktop Wallpaper)
<br />利用 Windows 的 API 获取桌面壁纸的实际路径,使用的是 SystemParametersInfo 这个API,此API的功能非常丰富,壁纸操作只是一斑 。<br />using System.Runtime.InteropServices;<br />[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]static extern bool SystemParametersInfo(uint原创 2011-02-26 16:30:00 · 2872 阅读 · 0 评论 -
C#中PictureBox异步加载图片
<br /> private void button1_Click(object sender, EventArgs e) { //模拟 String[] st=new String[13]; for (int i = 0; i < 13; i++) {//这里我用的是比较大的图片 桌面背景 用于测试 可以根据自己的实际情况来添加地址 可以是url等形式原创 2011-02-26 16:27:00 · 7395 阅读 · 2 评论 -
ComboBox自动完成功能的例子
<br />下面是使用ComboBox 测试<br /> private void FormTest_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("VV"); dt.Rows.Add(new string[]原创 2011-02-26 15:58:00 · 1095 阅读 · 0 评论 -
窗体间共享成员控件等的实现方法
主窗体实例化一个新窗体是 要在新窗体中对主窗体的控件进行访问在主窗体show新窗体时 其中InterfaceImg是窗体2 在创建这个新实例的时候获得对主创体的阴影 既“this”关键字 private void pictureBox5_Click(object sender, EventArgs e) { InterfaceImg t = new InterfaceImg(this); t.Show(); }原创 2011-02-26 15:02:00 · 672 阅读 · 0 评论 -
.Net Winform 程序自我重启 或删除自身
<br />Application.Restart();//自动重启<br />下面是自动删除本身 没多做处理 很早以前写的测试用的<br />using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.原创 2011-02-26 17:16:00 · 3021 阅读 · 0 评论