- 浏览: 724840 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1081)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (0)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (0)
- [网站分类]4.其他技术区 (0)
- [网站分类]5.企业信息化 (0)
- [网站分类]6.读书心得区(技术书籍阅读心得、书籍推荐) (0)
- [网站分类]7.提问区(.NET技术方面的提问) (2)
- [网站分类]8.技术转载区(.NET技术文章转载, 请注明原文出处) (0)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [网站分类]Dottext区 (0)
- [网站分类]GIS技术 (0)
- [网站分类]IT英才专区(IT职场交流) (0)
- [网站分类]SharePoint (0)
- [网站分类]博客园.NET俱乐部(俱乐部组织与活动方面的文章) (0)
- [网站分类]软件发布区(发布自己开发的代码、软件) (0)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (0)
- [网站分类]业界新闻 (1)
- 技术 (1)
- [随笔分类]生活感悟 (10)
- [随笔分类]C# (30)
- [随笔分类]AjaxPro教程 (3)
- [发布至博客园首页] (5)
- [随笔分类]简历 (0)
- [随笔分类]Linux (2)
- [随笔分类]技术聚会 (2)
- [随笔分类]ORM (1)
- [随笔分类]php (1)
- [随笔分类]创业 (1)
- [随笔分类]奇技淫巧 (1)
- [随笔分类]计划 (1)
- [随笔分类]架构&分层 (1)
- [随笔分类]整合行销 (1)
- [随笔分类]mac (1)
- [网站分类].NET新手区 (45)
- [网站分类]非技术区 (5)
- [网站分类]招聘区 (0)
- [随笔分类]单元测试 (1)
- [网站分类]其他技术区 (3)
- [网站分类]代码与软件发布 (6)
- [网站分类]提问区 (24)
- [随笔分类]ASP.NET (2)
- [随笔分类]FAQ (12)
- [随笔分类]开发人员工具 (1)
- [随笔分类]朗志轻量级项目管理解决方案 (1)
- [网站分类]读书区 (1)
最新评论
-
天使建站:
写和乱七八糟的 不知道从哪复制过来的 还是看这里吧j ...
jquery数组 -
hyn450:
你好,我最近也想了解一下竞争情报。不知道能不能交流一下呢 ?
最近的工作 -
lattimore:
这个连接打不开了阿!
使用vnc连ubuntu desktop -
MZhangShao:
奉劝你一句,以后在Ubuntu 用apt-get安装成功的软件 ...
关于xrdp的安装设置 -
f002489:
strftime
python下datetime类型的转换
目录
2.5 c# 调用一个button的click事件处理函数 13
2.9 如何在VS2005中添加工具箱项(VS2003中的自定义工具箱选项) 15
2.10 vs2005中为什么没有vs2003中的toolbar,tab控件了?? 已用ToolStrip和TabControl替代! 17
1有关Update程序
-
在程序中加入可复制到输出文件夹的XML文件
可以在VS中直接加入需要在程序中使用的Xml文件,方法如下:
图 1-1
首先在资源管理器中右击项目,单击添加(图 1-1,1-2),
图 1-2
在添加新项中选择添加Xml文件,并输入文件名。(图 1-3)
图 1-3
此时就可以在VS中编辑Xml文件了。(图 1-4)
图 1-4
如果程序需要在拷贝到其他机器上正确运行,则需要将.exe文件与Xml文件放入同一个文件夹中,所以需要将.xml文件进行复制。
图 1-5
如图 1-5所示,在资源管理器中单击。Xml文件后,在其属性选项中的复制到输出目录选项设置为如果较新则复制或始终复制。此时,如果解决方案配置选项选择的是Debug型,则Xml文件将输出到Debug文件夹,如果选择的是release型,则输出到release文件夹。(图 1-6)
图 1-6
2 有关练习
2.1 在richTextBox中输入用于介绍的文字
在richTextBox中显示说明型文字的好处是,可以在设计视图中直接输入文字如不用在程序中输入。而且自动换行。用法如图(2-1 2-2)。
图 2-1
图 2-2
2.2 Timer控件的使用
Timer 空间用于计时,以一定的时间间隔重复执行某一部分程序。首先要拖入timer控件,在属性设置中Interval比较重要,其功能是设置时间的间隔,以毫秒为单位。(图 2-3)
图 2-3
设置事件非常重要,不设置相关事件计时器就不对任何程序段作定时刷新的处理。选择相应的程序段。(图 2-4)
图 2-4
2.3 c#中的跨线程调用
在不是创建空间的子函数中调用控件会造成线程冲突,下面的方法用于解决此问题。
delegate void SetTextCallback();//此处用于线程处理
//此句放在Form中开头处。
private void button1_Click(object sender, EventArgs e)
{
System.Timers.Timer t = new System.Timers.Timer(1000);//实例化Timer类,设置间隔时间为毫秒;
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
//如何控制其停止?
this.listBoxGo.Items.Add("hey!");
this.listBoxGo.Items.Add("haha!");
}
private void theout(object source, System.Timers.ElapsedEventArgs e)
{
SetText();
}
//方法...Ok 进行线程比较,如果冲突则重复,否则更改progressBar.Value的值
private void SetText() //可在此方法处设置progressBar.Value的值,不会出现线程冲突
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
const int step = 3;
if (this.progressBar1.InvokeRequired&&progressBar1.Value<progressBar1.Maximum)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { });
}
else
{
if (this.progressBar1.Value + step <= this.progressBar1.Maximum)//赋值时考虑是否会超过progressBar.Maximum
this.progressBar1.Value += step;
else
{
progressBar1.Value = 100;
}
}
}
上面的程序意义,生命timer控件,每一秒中调用一次theout函数,theout函数的功能只是调用SetText函数(因为此处要求的函数参数不同,所以这样设置),之后在SetText函数中进行线程处理。
2.4 c#调用系统命令
using System;
using System.IO;
using System.Diagnostics;
class LaunchDirCommand {
static void Main() {
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd.exe";
psi.Arguments = "/c dir c:";
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
Process p = Process.Start(psi);
StreamReader stmrdr = p.StandardOutput;
string s = stmrdr.ReadToEnd();
Console.WriteLine(s);
}
}
这段程序是控制台程序,相应的可应用于WinForm程序。改程序通过cmd命令调用系统的命令。在设置参数时,形式为"/c 命令";一定要注意中间的空格。如调用ping命令,可设置参数为"/c ping 172.27.8.59";调用ping –t 时,参数为"/c ping 172.27.8.59 -t";如果所用地址为用户输入,例如存放在textBox中,可设string str = "/c ping" + textBox.Text + " -t";
一定要注意空格,否则极容易出错。
2.5 c# 调用一个button的click事件处理函数
例如,在一个textBox中输入网址,然后回车要产生与点击连接go按钮相同的功能。可以找到textBox空间的KeyPress事件,双击添加
事件处理程序。
private void textBoxUrl_KeyPress(object sender, KeyPressEventArgs e)
{
object a = new object();
EventArgs b = new EventArgs();
//判断是否按下了Enter键
if(e.KeyChar ==(char)13)
buttonSend_Click(a, b);
}
此处如果检测到按下了Enter键,则调用buttonSend_Click()函数。因为buttonSend_Click()函数需要两个参数,一个为object型,另一个为EventArgs型。而此时有没有具体的参数要传给函数,所以之前要new两个相应类型的参数。
2.6判断输入的网址前是否加http://
如果用HttpWebRequest类进行网页下载,建立连接时要求输入的地址必须是严格的http://形式。所以,接受用户输入后用string变量存储,然后使用ToLower()方法将其变成小写,之后判断是否以http://开头,如果不是,加上这个开头。具体代码:
string url = this.textBoxUrl.Text;
url.ToLower();
if (url.IndexOf(@"http://") == -1)
{
url = @"http://" + url;
this.textBoxUrl.Text = url;
}
2.7更该流的编码格式
编码格式不正确会造成输出乱码。下面的代码将从HttpWebRequest类读出来的Stream更改格式,使其可以在richTextBox中正确的显示中文而不出现乱码。
//HTTP请求变量
HttpWebRequest req;
//HTTP应答变量
HttpWebResponse res;
//基础数据流
Stream s;
//读数据流
StreamReader r;
req = (HttpWebRequest)WebRequest.Create(textBoxProxy.Text);//发送请求HttpWebRequest
res = (HttpWebResponse)req.GetResponse();//接受HttpWebResponse类型的来自HttpWebRequest类型的//回应
s = res.GetResponseStream();//基础数据流的设置
r = new StreamReader(s,System.Text.Encoding.Default);//StreamReader 读取流
richTextBoxProxy.Text = r.ReadToEnd();
2.8设置comboBox的初始值
comboBox的一系列值对应从0开始的一系列整数。其初始化。
this.cmbPriority.SelectedIndex = 0;
2.9 如何在VS2005中添加工具箱项(VS2003中的自定义工具箱选项)
在工具箱处右击,选择选择项(图)
然后即刻在弹出的对话框中进行相应得选择,其功能相当于VS2003中的自定义工具箱.
2.10 vs2005中为什么没有vs2003中的toolbar,tab控件了??
已用ToolStrip和TabControl替代!2.11下载文件是如何打开保存文件对话框
SaveFileDialog类用于打开保存文件对话框.
SaveFileDialog sDialog = new SaveFileDialog();
sDialog.Filter = "网页(*.htm;*.html)|*.htm;*.html";
//显示保存文件对话框
if (sDialog.ShowDialog() == DialogResult.OK)
{
//得到保存文件名
this.txt2_Add.Text = sDialog.FileName;
}
.Filter设置保存文件的类型,此处将要保存的文件的路径和名称存到TextBox中,在写入文件内容时可从TextBox中读取.写入时用到流.
发表评论
-
常见问题FAQ
2007-11-29 19:05 712目录 常见问题FAQ 1 目录 2 ... -
问题解答集
2007-11-29 19:07 671目录 问题解答集目录 1 目录 2 ... -
问题解答集
2007-11-29 19:10 667目录 问题解答集 1 目录 2 ... -
问题解答集
2007-11-29 19:11 588目录 问题解答集 1 目录 2 问题解 ... -
问题解答集
2007-11-29 19:12 632目录 问题解答集目录 1 问题解答: 4 ... -
问题解答集
2007-11-29 19:13 613目录 问题解答集目录 1 目录 ... -
问题解答
2007-11-29 19:14 6811.加密(用SHA1) System.Web.Secu ... -
问题解答
2007-11-29 19:16 6531.加密(用SHA1) System.Web.Secu ... -
常见问题FAQ
2007-11-29 19:17 633目录 常见问题FAQ 1 目录 2 ... -
常见问题FAQ
2007-11-29 19:18 590目录 常见问题FAQ 1 目录 2 ... -
问题说明文档
2007-11-29 19:18 630目录 1如何将表格同 ...
相关推荐
【企业会计准则监管问题解答合集】 在上市公司执行企业会计准则的过程中,监管机构对一系列问题提供了详细的解答。这些解答涉及到多个关键的会计处理和报告方面,对于理解和遵守会计准则至关重要。 1. **稀释每股...
### Linux中常见问题解答集 #### 一、基础概念与操作 **1.1 Root用户权限** - **问题描述:** 在Linux系统中,经常需要使用root用户进行一些操作,但有时不知道如何切换到root用户或者担心误用root权限导致系统...
安卓系统手机常见问题解答集.docx
电子杂志制作软件iebook超级精灵XXXX常见问题解答集 大全.docx
电子杂志制作软件iebook超级精灵某常见问题解答集大全.doc
PCB板
ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题
linux常见问题解答集,包括:如何建立多用户、如何使用软盘、光盘以及DOS等非Linux分区、如何安装Linux的应用软件等等
### 宇宙学问题解答集概述 文件标题《Solutions_to_Problems_in_Cosmology.pdf》表明这是一个关于宇宙学问题解答的文档。文档描述表明它是第二版《Physical Foundations of Cosmology》由 V. Mukhanov 所著书中第一...
100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集....
CISCO常见问题及解答(全集)
### Oracle常用问题解答知识点 #### 1. SQL & PL/SQL ##### 1.1 查询特殊字符,如通配符%与_ **问题**: 如何在Oracle中查询包含特殊字符如通配符%与_的数据? **解答**: 在Oracle中查询包含特殊字符如通配符%与_...
武仁第二版的解答集不仅提供了答案,还往往解析了解题步骤和思路,这对于自主学习和复习至关重要。它能帮助学生检查自己的理解,发现并修正错误,同时也能提升他们独立解决问题的能力。 在解答集里,你可以找到关于...
《Chatbot心理健康常见问题解答数据集》是一个专为自然语言处理(NLP)设计的数据集,主要用于训练和优化聊天机器人,使其能够有效地处理与心理健康相关的问题。数据集包含了一个CSV文件Mental_Health_FAQ.csv以及一...
网管常见问题解答集合.rar 网管常见问题解答集合.rar 网管常见问题解答集合.rar
《C语言编程常见问题解答》(C Programming FAQs)是关于C语言的常见问题解答集,由Steve Summit撰写,并于1995年由Addison-Wesley出版(ISBN 0-201-84519-9)。这本书回答了C语言编程社区中常见的495个问题。本书的...
这个"88.MATLAB教程 Matlab 80问.rar"压缩包很可能包含了一套详细的MATLAB问题解答集,涵盖了80个常见问题,旨在帮助用户深入理解和掌握MATLAB的基本用法和高级特性。 1. **基础知识**:MATLAB的基础知识包括变量...
这个压缩包内含的"Review1-2Solutions.pdf"文件,是一个详细的问题解答集,旨在提升我们对数字理论和技术的理解。 首先,我们要明白数字概念是信息技术的基础,它涵盖了二进制、数字编码、数字逻辑以及数字系统等多...