摘要:using System;using System.Collections.Generic;using System.Drawing;using System.Windows.Forms;using System.ComponentModel;using System.Data;namespace WinHide{ public partial class MainForm : Form { public MainForm() { InitializeComponent(); } #region 窗体隐藏部分 void Timer1Tick(object sender,...
阅读全文
摘要:c# winform 设置winform进入窗口后在文本框里的默认焦点进入窗口后默认聚焦到某个文本框,两种方法:①设置tabindex把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了。②Winform的Activated事件在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点。?private void Form1_Activated(object sender, EventArgs e){ textBox1.Focus();}TextBox是可以获得焦点的. 有几个前提:1. TextBox所属的窗体(Form)在可操作(Acti...
阅读全文
摘要:为实现移动无标题栏窗体的功能,我从网上寻找、整理了以下资料,以备不时之需:该方法适用于有标题栏和无标题栏窗体,适用于窗体内控件,当然 Form 也不例外,只须添加 MouseDown、MouseMove 事件,无需添加 MouseUp 事件,也无需考虑 Form 是否有标题栏。本方法采用 Control.MousePosition,而没有采用 MouseEventArgs e 获取数据,是因为这样无需考虑窗体有无标题栏和边框的大小,也无需考虑是窗体引发事件,还是窗体内控件引发事件。主要代码如下:[csharp] view plaincopyprint?public partial class
阅读全文
摘要:1、如果有超过一屏的数据,想通过关键字查找到相关记录,然后再定位之,做法如下:遍历所有行,把某单元格的值和关键字对比,找到后清除所有选择行,然后把当前行设为选择,然后把grid的CurrentCell设置为当前行的某个可见单元格即可,效果就会自动跳到定位好的行上。示例代码:stringInputStr=txtFindSp.Text;foreach(DataGridViewRowdvrindgvSp.Rows){if(dvr.Cells[2].Value.ToString().StartsWith(InputStr)){dgvSp.ClearSelection();dvr.Selected=tr
阅读全文
摘要:文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/作者Joseph Albahari, 翻译Swanky Wu 中文翻译作者把原文放在了"google 协作"上面,GFW屏蔽,不能访问和查看,因此我根据译文和英文原版整理转载到园子里面。 本系列文章可以算是一本很出色的C#线程手册,思路清晰,要点都有介绍,看了后对C#的线程及同步等有了更深入的理解。入门概述与概念创建和开始使用多线程线程同步基础同步要领锁和线程安全Interrupt 和 Abort线程状态等待句柄同步环境使用多线程单元模式和Windows FormsBac
阅读全文
摘要:原文地址:http://club.topsage.com/thread-657023-1-1.html在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。不带参数的启动方式如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4usingSystem.Threading;56na
阅读全文
摘要:namespace 多线程 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { //1.New 一个thread. //给新创建的thread绑一个带参的方法ParameterizedT...
阅读全文
摘要:转自:http://www.cnblogs.com/smartls/archive/2011/04/08/2008981.html#2457370引言 在之前的《创建无阻塞的异步调用》中,已经介绍过异步调用的编写步骤和实施原理。异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能、可伸缩应用程序的关键。在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作。我们通常使用异步完成许多计算型、IO型的复杂、耗时操作,去取得我们的应用程序运行所需要的一部分数据。在取得这些数据后,我们需要将它们绑定在UI中呈现。当数据量偏大时,我们会发现窗体变成了空白面板。此时如果用鼠.
阅读全文
摘要:转自:http://www.cnblogs.com/xiaofei59/archive/2010/11/25/1887285.html异常{ 无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型 }委托实际上是把方法名作为参数,但是若有好多个方法时,就要指明是哪个参数 查看如下代码: this.Invoke(delegate { MessageBox.Show("t4"); }); 熟悉winform的开发者都知道,this是一个窗体的实例,故不做另外解释。该代码的...
阅读全文
摘要:转:http://www.51testing.com/?uid-569418-action-viewspace-itemid-832231在控件上加上tooltip之后,鼠标放到控件上,tooltip出来,等tooltip自动消失之后,再将鼠标放到控件上去时就不会再显示tooltip了解决方法:给tooltip加上MouseEnter 和MouseLeave的事件,在事件里面设置tooltip的Active状态Label label= new Label();ToolTip toolTip1 = new ToolTip();toolTip1.AutoPopDelay = 5000;toolTi
阅读全文
摘要:转自:http://www.cnblogs.com/cpcpc/archive/2011/02/22/2123055.html模拟键盘输入首先要用到一个API函数:keybd_event。 模拟按键有两个基本动作,即按下键和放开按键,所以我们每模拟一次按键就要调用两次该API函数,其方法是: 例子1:模拟按下'A'键 keybd_event(65,0,0,0); keybd_event(65,0,KEYEVENTF_KEYUP,0); 例子2:模拟按下'ALT+F4'键 keybd_event(18,0,0,0); keybd_event(115,0,0,0);
阅读全文
摘要:转自 http://apps.hi.baidu.com/share/detail/14468670Option ExplicitPrivate Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Private Const VK_ADD As Long = &H6B '加号键Private Const VK_APPS As Long = &H5D
阅读全文
摘要:1 在开发winform时经常会用到多线程防止界面出现假死现象,比如当你单击某个按钮时,需要执行很多代码,但是在执行过程中想实时的将当前执行的情况报告给用户,类型进度条或文本什么的。 2 3 这个时候很显然,如果你把要实现的内容放在按钮方法里时,其实界面要等这个按钮执行完后才能输出来,这个时候就达不到我们的预期了;那么怎么才能解决问题呢。 4 5 我初略终结了一下有以下几种方法: 6 7 1.采用BackgroundWorker控件,这个控件将要实时输出的内容写在事件中; 8 9 10 1 private void button1_Click(objec...
阅读全文