波斯马BOSSMA Information Technology

WinForm 下的日志

DragListView – 实现在ListView控件中拖拽(拖动)列表项(行)

发布时间:2011年10月13日 / 分类:WinForm / 抢沙发

很久没有写过WinForm的程序了,这几天整理了下以前写过的几个控件,发现一些比较有用的扩展。今天介绍一个自定义控件DragListView,可以拖拽其中的行,移动它们的位置,从而重新排序。 这个控件适用于使用Details视图显示项的情况。 原理:继承ListView,当点击选中一个列表项...

一个密码保管工具-TTA密码箱

发布时间:2011年5月8日 / 分类:WinForm / 抢沙发

对于有很多账号、密码的朋友来说,管理这些密码真不是一件轻松的事,找不到密码那时很平常的事。也有一些人使用Excel、Access等管理密码,但是也不方便,而且担心被别人看到了。鉴于我也有这样的烦恼,经过长时间的酝酿,终于开发出来了一个密码保管工具 – TTA密码箱。 ...

WinForm应用程序中单例模式的实现方法

发布时间:2011年4月7日 / 分类:DOTNET, WinForm / 抢沙发

Windows任务管理器是单例模式的一个很好的例子,在当前登录用户下我们只能打开一个它的实例。如它没有运行,点击“任务管理器”会启动这个程序,如果最小化了,点击“任务管理器”会激活它并显示在最小化之前的位置;如果当前激活并显示,会重新激活。这篇文章将要介绍在WinForm应...

WinFrom点击关闭按钮时提示关闭或最小化的实现

发布时间:2011年4月2日 / 分类:DOTNET, WinForm / 抢沙发

当我们关闭QQ的时候,会出现一个提示,弹出一个窗口,询问提示我们是最小化还是退出程序运行。这是一种很人性化的提示操作方式。这篇文章就是要模拟QQ的这种效果,在WinForm中实现。 1、首先创建一个WinForm项目 2、打开Form1窗体设计,设置Form1窗口的FormClosing事件的委托...

WinForm(C#)中跨线程访问控件的解决方法

发布时间:2010年9月6日 / 分类:WinForm / 2 次吐槽

由于多线程可能导致对控件访问的不一致,导致出现问题。C#中默认是要线程安全的,即在访问控件时需要首先判断是否跨线程,如果是跨线程的直接访问,在运行时会抛出异常。 解决办法有两个: 1、不进行线程安全的检查 2、通过委托的方式,在控件的线程上执行 public partial cl...

c#(WinForm)遍历局域网计算机(电脑)获取IP和计算机名称

发布时间:2010年8月25日 / 分类:ASP.NET, WinForm / 抢沙发

c#可以遍历局域网计算机,获取全部计算机的名称和IP地址,网上提供了相关的几种方法,并对效率进行了比较,但是没有对各种方法进行比较,以确定可以使用的情况。这篇文章将对这几种方法进行分析,以帮助了解各种方法适用的情况。 using System; using System.Collections.Gene...

DataGridView(WinForm)中实现行的上下移动

发布时间:2010年8月19日 / 分类:ASP.NET, WinForm / 2 次吐槽

DataGridView(WinForm)中实现行的上下移动。模拟了20条数据,绑定到DataGridView,点击向上按钮,数据行向上移动一行,点击向下,数据行向下移动一行。 显示效果: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u...

多级子项目(任务)计算项目进度的方法

发布时间:2010年5月15日 / 分类:DOTNET, WinForm / 抢沙发

现实中遇到这样一个问题:有一个项目,下边有多级任务,我们想获取项目和每一级任务的进度。很多人第一反应就是使用递归,这里先不着急探讨好不好实现。我们先来构建一个例子: 一个项目,有很多子项目(或任务),每个子项目下的子项目数和级次都是不固定的,实际的操作中,我...