- 浏览: 175569 次
- 性别:
- 来自: 北京
最新评论
-
文昌平蓝杰:
我说哥,你好歹把DataTableConverter的代码贴出 ...
Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据 -
dzvictor:
[url][/url]
Jquery中模拟单击事件 -
zyh_java:
写的不错,学习了!
【转】多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上) -
wad12302:
不是讨论帖,我还以为呢
Hibernate的HQL的两种参数方式 -
dongguojun:
middin 写道
上面的':'是不是继承了?
不是 f ...
用冒泡法按小到大序列排列一维数组中的整数
文章列表
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<link href="../../css/BBCode/ ...
同一页面返回顶部超简单代码
可以用页内链接实现,在顶部写如下代码:
<a name="top"></a>
需要返回的地方如下写代码:
<a href="#top">回顶部</a>
很多时候,我们会需要改变一个iframe的地址(src属性),或者使用表单(form)的target在指定的iframe进行提交后,在 iframe加载完毕(onload)时立即响应某个操作,以提高WEB应用程序的价值。本文讨论了跨浏览器的iframe onload事件的监听方 ...
我发现WPF中DataGridTextColumn直接设置它的ToolTipService.Tooltip并不好使,当然可以在这个列的CellStyle中再设置ToolTipService.Tooltip的值,这是管用的。但是当列比较多的时候,这样一一设置比较麻烦。下面介绍一个统一的设置方法,在DataGrid中统一设置CellStyle
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="ToolTipS ...
很简单,就直接上代码了
<Button Name="zoomout" Tag="zoomout" ToolTip="放大">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Border>
<Image Name="img" Source="/ModulusFE ...
BitmapImage img = new BitmapImage();
img.BeginInit();
img.UriSource = new Uri("pack://application:,,,/你应用程序的名称;component/Icons/PNG/btn_disconeet.png");
img.EndInit();
this.imgTest.Source = img;//这里的imgTest是Image控件的名称
1.创建转换类,0为已读,让“阅”按钮不可用,即返回False
public class ReadOrNoReadConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int readStatus = value.ToString();
if (readStatu ...
void _dgMarketPrice_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right) //判断是不是右键
{
Control control = new Control();
Point ClickPoint = new Point(e.X, e.Y);
control.GetChildAtPoint(Cli ...
因为公司项目中用的是DataGrid,而且还是从系统的DataGrid中扩展的,因为DataGrid列数实在太多,显示不下了,隐藏了某些字段,我想让鼠标划过每行时显示每行的详细数据,把隐藏的那些也显示出来,于是我找到了http://www.codeproject.com/KB/grid/testgridzip.aspx#Displayingatooltipforthecorrectrow1这段文章和源码,但是里面还是不完美,有的地方都编译不过去,也不符合我的需求,我改了改,改的仓促不好您见谅(里面有些没用的Form和Style可以无视),凑合看吧先。源码在附件。
前两篇简单介绍了线程同步lock,Monitor,同步事件EventWaitHandler,互斥体Mutex的基本用法,在此基础上,我们对它们用法进行比较,并给出什么时候需要锁什么时候不需要的几点建议。最后,介绍几个FCL中线程安全的类,集合类的 ...
本篇继续介绍WaitHandler类及其子类 Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中线程同步的方式多的让人看了眼花缭乱,究竟该怎么去理解呢?其实,我们抛开.NET环境看线程同步,无非是执行两种操作:一是互斥/加锁,目的是保证临界区代码操作的“原子性”;另一种是信号灯操作,目的是保证多个线程按照一定顺序执行,如生产者线程要先于消费者线程执行。.NET中线程同步的类无非是对这两种方式的封装,目的归根结底都可以归结为实现互斥/ 加锁或者是信号灯这两种方式,只是它们的适用场合有所不。下面我们根据类的层次结构了解WaitHandler及其子类。
...
本篇从Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler的类关系图开始,希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。让我们来看看这几个类的关系图:
1.lock关键字
lock是C#关键词,它将语句块标记为临界区,确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。方法是获取给定对象的互斥锁,执行语句,然后释放该锁。
MSDN上给出了使用lock时的注意事项 ...
1.引入AfxSocketInit()进行Socket版本协商函数所需头文件,#include <afxsock.h>,放在Header Files的StdAfx.h中。
2.在WinApp中加载套接字库
3.添加m_socket成员变量用来初始化Socket
4.添加初始化socket的成员函数
BOOL CChatDlg::InitSocket()
{
//服务端socket
m_socket=socket(AF_INET,SOCK_DGRAM,0);
if (INVALID_SOCKET==m_socket)
{
MessageB ...
#include <iostream.h>
static float score[][4]={{60,70,80,90},{56,89,34,45},{34,23,56,45}};
void main()
{
float *find(float (*pointer)[4], int n);
int m;
cin>>m;
float *p;
p=find(score,m);
for(int i=0;i<4;i++){
cout<<*(p+i)<<" ";
}
}
floa ...
#include <windows.h>
#include <iostream.h>
DWORD WINAPI ThreadProc1(LPVOID lpParameter);
DWORD WINAPI ThreadProc2(LPVOID lpParameter);
int tickets=100;
HANDLE hMutex;
void main(){
HANDLE handle1;
HANDLE handle2;
handle1=CreateThread(NULL,0,ThreadProc1,NULL,0,NULL);
hand ...