- 博客(6)
- 资源 (10)
- 收藏
- 关注
原创 关于限制子窗体在父容器中移动边界的总结(很简单的东西,写给新人)
有时候,我们直接用MDI父窗体+MDI窗体可以方便的构建多文档应用,但在有些时候,我们不选择使用MDI窗体形式, 可能是出于某些限制,比如,你需要在父窗体中使用控件,但老是把新建的子窗体给遮住,你选择使用panel对象来装一个窗口,可是因为窗体如果 是有边框的,就会让输入焦点定位不准确,鼠标事件不能正确响应等等,你选择了自定义窗体来做子窗体,这个时候,你可能就会考虑到限制子窗体在父 容器中如
2014-02-26 17:32:53 2617
原创 关于异步更新UI界面多线程执行后台操作的一些思路整理
有些时候,某些操作会比较耗时间(如:连接一个没有开启的远程数据库),如果这个操作在UI线程上执行的话,就会在返回之前,让界面处于"假死"状态,影响用户体验.因此,从其他线程操作这类的"耗时"操作,是很有必要的,这里我主要整理当前,.net框架下,托管代码中线程安全的情况,因此,关闭掉线程安全检查来实现跨线程的界面更新操作不在讨论范畴. 我主要说说beginInvoke操作,这是一个异步的多线程调
2014-02-21 13:21:50 1487
转载 C# Winform 跨线程更新UI控件常用方法汇总
概述 C#Winform编程中,跨线程直接更新UI控件的做法是不正确的,会时常出现“线程间操作无效: 从不是创建控件的线程访问它”的异常。处理跨线程更新Winform UI控件常用的方法有4种: 1. 通过UI线程的SynchronizationContext的Post/Send方法更新; 2. 通过UI控件的Invoke/BegainInvoke方法更新; 3. 通过Background
2014-02-21 10:07:15 1206
原创 c#调用数据库中的带返回(output参数形式)存储过程的demo
c#+sqlserver2005,自定义存储过程,调用格式机器demo: 格式详解 SqlCommand scmd = new SqlCommand("存储过程名字", 打开的链接对象); scmd.CommandType = CommandType.StoredProcedure;//命令类型为存储过程 //为参数列表添加参数,注意名字要和存储过程中吻合
2014-02-20 14:26:45 2510
原创 sqlserver存储过程验证用户登录和账号是否停用或者被其他人登录中--写给新人
有时候,我们需要在用户登录的时候,首先验证其密码是否正确,账号是否存在,然后验证账号是否被禁用,或者是否已经登录了,和数据库交互比较平凡,用存储过程是个不错的选择,直接贴代码吧,新人可以看看,注释得很齐全,包括功能,参数说明,还有关键行的注释,最后附上一个简单的调用验证----- 晕,试了了一下,好像不支持这个代码的格式化,看起来很不舒服,我还是整理成一个压缩包,加上应用的截图算了,具体包上传后
2014-02-20 12:13:11 1126
原创 c#创建自定义控件并给控件添加事件
用户自定义控件是每个做winform人员都想要的,也都要去实现的,下面简单说一下,如果在自定义控件上面响应你的事件 步骤如下: 1、声明事件的委托时肯定要的(object sender,EventArgs e)参数列表是肯定需要的 2、用委托类型定义你想要的事件,如果没有特殊要求的话,就直接用public好了 public event 委托类型名字 事件名称 3、在自定义控件的内部控件
2014-02-13 18:27:03 1729
sqlserver存储过程验证用户登录
2014-02-20
dataguidview合并单元格方法源码(横向纵向)
2013-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人