ListView的按列排序类实现
[ 2006-05-09 21:32:23 | 作者: admin ]
tianyang:测试发现,对于空白列的排序还是会报错,呵呵,try{}catch{}下好象结果就不准确了.
//下面这句放在程序前面初始化
private int sortColumn = -1;
//列点击事件
private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
if(this.listView1.SelectedItems.Count!=0)
this.listView1.SelectedItems.Clear();
if (e.Column != sortColumn)
...
阅读全文…
//下面这句放在程序前面初始化
private int sortColumn = -1;
//列点击事件
private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
if(this.listView1.SelectedItems.Count!=0)
this.listView1.SelectedItems.Clear();
if (e.Column != sortColumn)
...
阅读全文…
多重大规模循环的结束方法
[ 2006-05-09 18:03:11 | 作者: admin ]
如果想安全结束的话,设置停止标签,然后join线程结束;
否则,你可以用线程的abort或者Application.ExitThread之类的来强行关闭线程。
建议使用BackgroundWorker + WaitDialog实现!
如果在循环中确定窗体不会假死,就使用:
bool StopFlag = false; //在循环外设置一个停止标签
for(int i=0;i<1000;i++)
{
if(StopFlag == true)break; //最好定义在顶级循环中允许停止,否则可能出现运算错误
for(int j=0;j<10;j++)
{
//....
}
}
btnStop_Click(...) //按钮事件
{
this.StopFlag = true;
this.btnStop.Enabled = false;
}
否则,你可以用线程的abort或者Application.ExitThread之类的来强行关闭线程。
建议使用BackgroundWorker + WaitDialog实现!
如果在循环中确定窗体不会假死,就使用:
bool StopFlag = false; //在循环外设置一个停止标签
for(int i=0;i<1000;i++)
{
if(StopFlag == true)break; //最好定义在顶级循环中允许停止,否则可能出现运算错误
for(int j=0;j<10;j++)
{
//....
}
}
btnStop_Click(...) //按钮事件
{
this.StopFlag = true;
this.btnStop.Enabled = false;
}
OpenFileDialog
[ 2006-05-09 12:30:37 | 作者: admin ]
private void button1_Click(object sender, System.EventArgs e)
{
// Displays an OpenFileDialog so the user can select a Cursor.
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Cursor Files|*.cur";
//openFileDialog1.Filter = "txt files (*.txt)|*.txt";
openFileDialog1.Title = "Select a Cursor File";
// Show the Dialog.
...
阅读全文…
{
// Displays an OpenFileDialog so the user can select a Cursor.
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Cursor Files|*.cur";
//openFileDialog1.Filter = "txt files (*.txt)|*.txt";
openFileDialog1.Title = "Select a Cursor File";
// Show the Dialog.
...
阅读全文…
listView1.View = View.Details ;
listView1.Columns.Add("第一列", 50, HorizontalAlignment.Left);
listView1.Columns.Add("第二列", 50, HorizontalAlignment.Left);
ListViewItem item = new ListViewItem("1");
item.SubItems.Add("2");
listView1.Items.Add(item);
listView1.Columns.Add("第一列", 50, HorizontalAlignment.Left);
listView1.Columns.Add("第二列", 50, HorizontalAlignment.Left);
ListViewItem item = new ListViewItem("1");
item.SubItems.Add("2");
listView1.Items.Add(item);
c#关于名值对的实现
[ 2006-05-08 22:01:31 | 作者: admin ]
总是忘记这个东西,以前用过,后来居然就忘记了
System.Collections.Specialized.NameValueCollection nvArticleInfo = new System.Collections.Specialized.NameValueCollection();
nvArticleInfo["title"] = myDataReader["title"].ToString();
nvArticleInfo["addtime"] = myDataReader["addtime"].ToString();
nvArticleInfo["hits"] = myDataReader["hits"].ToString();
今天翻到以前的代码,稍微记一下,基本就是hash表用法.
System.Collections.Specialized.NameValueCollection nvArticleInfo = new System.Collections.Specialized.NameValueCollection();
nvArticleInfo["title"] = myDataReader["title"].ToString();
nvArticleInfo["addtime"] = myDataReader["addtime"].ToString();
nvArticleInfo["hits"] = myDataReader["hits"].ToString();
今天翻到以前的代码,稍微记一下,基本就是hash表用法.
常见的网上邻居访问问题精解
[ 2006-05-05 14:42:12 | 作者: admin ]
Windows网上邻居互访的基本条件:
1) 双方计算机打开,且设置了网络共享资源;
2) 双方的计算机添加了 "Microsoft 网络文件和打印共享" 服务;
3) 双方都正确设置了网内IP地址,且必须在一个网段中;
4) 双方的计算机中都关闭了防火墙,或者防火墙策略中没有阻止网上邻居访问的策略。
Windows 98/2000/XP/2003访问XP的用户验证问题
首先关于启用Guest为什么不能访问的问题:
1、默认情况下,XP 禁用Guest帐户
2、默认情况下,XP的本地安全策略禁止Guest用户从网络访问
3、默认情况下,XP的 本地安全策略 -> 安全选项 里,"帐户:使用空密码用户只能进行控制台登陆"是启用的,也就是说,空密码的任何帐户都不能从网络访问只能本地登陆,Guest默认空密码......
...
阅读全文…
1) 双方计算机打开,且设置了网络共享资源;
2) 双方的计算机添加了 "Microsoft 网络文件和打印共享" 服务;
3) 双方都正确设置了网内IP地址,且必须在一个网段中;
4) 双方的计算机中都关闭了防火墙,或者防火墙策略中没有阻止网上邻居访问的策略。
Windows 98/2000/XP/2003访问XP的用户验证问题
首先关于启用Guest为什么不能访问的问题:
1、默认情况下,XP 禁用Guest帐户
2、默认情况下,XP的本地安全策略禁止Guest用户从网络访问
3、默认情况下,XP的 本地安全策略 -> 安全选项 里,"帐户:使用空密码用户只能进行控制台登陆"是启用的,也就是说,空密码的任何帐户都不能从网络访问只能本地登陆,Guest默认空密码......
...
阅读全文…
c#中强制不转义字符@
[ 2006-04-30 23:14:50 | 作者: admin ]
@在c#中为强制不转义 的符号,在里面的转义字符无效
string str1 = "abc\n"; // 这里\n当然默认转为换行符
string str2 = @"abc\n" // 这里\n不自动转为换行符号,相当于 str2 = "abc\\n"
ps:原来vs.net默认就支持单字符串分行写,不过ide不支持这种语法的排版.
string str1 = "aaaa
bbbb
ccccc";
string str1 = "abc\n"; // 这里\n当然默认转为换行符
string str2 = @"abc\n" // 这里\n不自动转为换行符号,相当于 str2 = "abc\\n"
ps:原来vs.net默认就支持单字符串分行写,不过ide不支持这种语法的排版.
string str1 = "aaaa
bbbb
ccccc";
解读C#中的规则表达式 [推荐]
[ 2006-04-30 02:31:49 | 作者: admin ]
(作者:刘彦青编译 2001年02月28日 13:51)
多少年来,许多的编程语言和工具都包含对规则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl 5中的规则表达式兼容。
此外,regexp类还能够完成一些其他的功能,例如从右至左的结合模式和表达式的编辑等。
在这篇文章中,我将简要地介绍System.Text.RegularExpression中的类和方法、一些字符串匹配和替换的例子以及组结构的详细情况,最后,还会介绍一些你可能会用到的常见的表达式。
应该掌握的基础知识
规则表达式的知识可能是不少编程人员“常学常忘”的知识之一。在这篇文章中,我们将假定你已经掌握了规则表达式的用法,尤其是Perl 5中表达式的用法。.NET的regexp类是Perl 5中表达式的一个超集...
阅读全文…
多少年来,许多的编程语言和工具都包含对规则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl 5中的规则表达式兼容。
此外,regexp类还能够完成一些其他的功能,例如从右至左的结合模式和表达式的编辑等。
在这篇文章中,我将简要地介绍System.Text.RegularExpression中的类和方法、一些字符串匹配和替换的例子以及组结构的详细情况,最后,还会介绍一些你可能会用到的常见的表达式。
应该掌握的基础知识
规则表达式的知识可能是不少编程人员“常学常忘”的知识之一。在这篇文章中,我们将假定你已经掌握了规则表达式的用法,尤其是Perl 5中表达式的用法。.NET的regexp类是Perl 5中表达式的一个超集...
阅读全文…