- 浏览: 149339 次
- 性别:
- 来自: 深圳
最新评论
文章列表
前段时间在做一个项目时,由于系统是使用触摸屏进行操作的,在用户点击按钮时会有一个边框出现,刚开始我对按钮的
属性进行了如下设置:
btnWineCupIntro.FlatAppearance.BorderSize = 0;
btnWineCupIntro.FlatStyle = FlatStyle.Flat;
但是还是没有达到理想的效果,点击时还是有个边框痕迹出现。
经过调查后对按钮的属性ShowFocusCues进行了重载,做了一个
自定义的Button类,然后使用自定义的Button,并将它的属性设置为
FlatAppearance.BorderSize = 0;Fl ...
- 2011-09-21 15:13
- 浏览 982
- 评论(0)
前段时间在做一个项目时,由于系统是使用触摸屏进行操作的,在用户点击按钮时会有一个边框出现,刚开始我对按钮的
属性进行了如下设置:
btnWineCupIntro.FlatAppearance.BorderSize = 0;
btnWineCupIntro.FlatStyle = FlatStyle.Flat;
但是还是没有达到理想的效果,点击时还是有个边框痕迹出现。
经过调查后对按钮的属性ShowFocusCues进行了重载,做了一个
自定义的Button类,然后使用自定义的Button,并将它的属性设置为
FlatAppearance.BorderSize = 0;Fl ...
- 2011-09-21 15:13
- 浏览 667
- 评论(0)
在项目中经常涉及到基础数据的导入的问题,很多时候就需要从Excel中获取数据,下面提供一个从Excel文件提取数据到DataSet中方法:
/// <summary>
/// 根据excel的文件的路径提取其中表的数据
/// </summary>
/// <param name=& ...
- 2011-09-21 10:05
- 浏览 474
- 评论(0)
在项目中经常涉及到基础数据的导入的问题,很多时候就需要从Excel中获取数据,下面提供一个从Excel文件提取数据到DataSet中方法:
/// <summary>
/// 根据excel的文件的路径提取其中表的数据
/// </summary>
/// <param name=& ...
- 2011-09-21 10:05
- 浏览 569
- 评论(0)
在上次做的项目中,使用到了Socket进行数据通讯,其中用到了一些数据类型进行转换的方法,现在
贴出来给大家分享下,希望大家多给些意见,能进一步帮忙完善更好了,先谢过了。
/// <summary>
/// 整数转为Byte【】
/// 低位在前,高位在后
/// </summary>
/// <param name="r">要转换的整数</param>
/// <param name="digits">Byte位数</param>
/// <r ...
- 2011-09-20 17:06
- 浏览 499
- 评论(0)
在上次做的项目中,使用到了Socket进行数据通讯,其中用到了一些数据类型进行转换的方法,现在
贴出来给大家分享下,希望大家多给些意见,能进一步帮忙完善更好了,先谢过了。
/// <summary>
/// 整数转为Byte【】
/// 低位在前,高位在后
/// </summary>
/// <param name="r">要转换的整数</param>
/// <param name="digits">Byte位数</param>
/// <r ...
- 2011-09-20 17:06
- 浏览 692
- 评论(0)
今年上半年做项目时遇到了一个问题,就是系统在运行的过程中,点击程序到显示画面,另外一个线程接收到信息需要将画面的局部进行更新。考虑到是跨线程的操作,直接处理的话就会出现错误。因此使用消息的方式来处理,问题得到了解决。现在将示例代码贴出来演示下:
//自定义消息
public const int USER = 0x500;
public const int MYMESSAGE = USER + 1;
///重写窗体的消息处理函数DefWndProc,从中加入自己定义消息 MYMESSAGE 的检测的处理入口
protected override void DefWndProc ...
- 2011-09-20 15:17
- 浏览 286
- 评论(0)
在项目中有时需要动态创建一系列的控件,并初始化它们,下面展示一个我在项目中应用到方法:
/// <summary>
/// 创建并初始化所有的图片控件和标签控件
/// </summary>
private void InitialAllControls()
{
int iRow = 0;
int iColumn = 0;
//从配置文件中获取设置的行数和列数
if (ConfigurationManager.AppSettings["RowNum"] != null && Configurat ...
- 2011-09-20 13:42
- 浏览 691
- 评论(0)
最近在开发项目时需要实现屏保功能,即用户在设定的时间内没有对系统进行操作时,系统将会自动进入屏保状态。
为此封装了一个获取鼠标键盘动作的类,并有一个方法可以返回用户多长时间没有操作系统的时间。
代码如下:
public class MouseKeyBoardOperate
{
/// <summary>
/// 创建结构体用于返回捕获时间
/// </summary>
[StructLayout(LayoutKind.Sequential)]
struct LASTINPUTINFO
{
/// <summary>
/ ...
- 2011-09-19 16:06
- 浏览 1364
- 评论(0)
前段时间在做项目时,系统是个多线程程序,几个线程都需要写日志,主线程和通讯线程经常在写日志时打架,为了解决这个问题,考虑在写日志的方法中加锁。代码如下:
/// <summary>
/// 写日志时加锁
/// </summary>private static object m_Lock = new object();
/// <summary>
/// 写日志文件的接口函数,此函数只向指定的文件写入字符串
/// </summary>
/// <param name="DestFileName& ...
- 2011-09-19 15:24
- 浏览 627
- 评论(0)
今天在开发时,遇到要统计SQL Server 2005中数据库表的个数的问题。于是自己写下SQL:select count(1) from sysobjects where XTYPE='u',一执行,发现查询的得到表的个数比实际的用户表的个数多了一个。仔细一看发现结果中多了条数据。
图示如下:
其中sysdiagrams并不是用户表,而是数据库的关系图。可是我也没有建数据库的关系图,原来自己在操作SSMS时不小心点击了当前数据库下
的数据库关系图,图示如下:
然后选择了是,结果就出现上面查询得出的结果。
就此问题的答案揭晓了。
于是我将SQL查询语句改了下,可以避免这种情 ...
- 2011-09-19 14:52
- 浏览 685
- 评论(0)