没有评论未分类2008年06月13日moli
不想说什么了,才保持多久啊~~ 咱容易嘛„ 原来某个外国人说:刘翔这个记录要保持20年..
哎.. 牛人总在风雨后.. 不说了.. 看视频..
http://www.567321.cn/nba/567.html 09 六
【解决】线程间操作无效:从不是创建控件“XX”的线程访问它
没有评论未分类2008年06月9日moli
在进行线程方面的编程的时,遇到这样的错误 \"线程间操作无效:从不是创建控件“XX”的线程访问它\" 很烦草的问题.. 解决方法:
在构造函数中加入如下代
码:CheckForIllegalCrossThreadCalls = false; 01 六
比较简单的方法获取屏幕的分辨率
没有评论未分类2008年06月1日moli
其实这个方法在VS2008上比较简单,主要是其特性决定的。
首先建立一个窗口。 将她的WindowState 属性设为:Maximized 就是窗口一弹出来就最大化。
事实上也可以用在实际的程序中的,因为VS中的有个对窗体的透明度的设定,所以可以将其设定为0%的透明度。 这样就可以了。
ok,返回主题。 当一个窗体被最大化后,不知道大家想到没,这样就可以得到桌面的分辨率了。
在C++里头好像可以调用API。。。Get„„的。。- -很久没用了。。 在C#里就很简单。看代码:
private void Form1_Load(object sender, EventArgs e) {
textBox1.Text = this.Size.Width.ToString(); textBox2.Text = this.Size.Height.ToString(); }
很简单吧?呵呵。。 告诉大家怎么让VS里面的代码原汁原味的被复制到这上面的办法。
* 将IDE里的代码复制到word里,然后将word的代码复制到百度上来就ok了~
这样复制上来的代码就是加亮的哦!!
我的分辨率是1280*800的,怎么不对类? 可能因为被最大化后,边栏被放到屏幕外去了,而778是好像是不包括任务栏的大小的。。 19 五
将网站整体改成灰色,黑白色„
没有评论未分类2008年05月19日moli
将网站的CSS文件,加入下面的代码„ 会CSS的应该会加的吧.. body{
filter:Gray; }
网站www.567321.cn 我没有改,真的很抱歉,因为我的空间服务商的FTP无法登陆„ 18 五
C#中窗口间操作..
没有评论未分类2008年05月18日moli
我刚遇到这样一个问题,就是主窗口下有一个MDI子窗口, 子窗口有一个WebBrowser 控件.
我想通过主窗口,修改子窗口的webBrowser 控件的属性.
先还以为这涉及到主窗口向子窗口发送消息. 但是我这个人比较懒, 总喜欢用最简单的方法来解决我认为复杂的问题.
然后在网上搜索了下, 发现只要修改webBrowser 控件的访问属性 Modifiers ,设置为public 公有的.
这样, 在主窗口将子窗口实例化,然后就可以改变子窗口控件属性„ 18 五
读取文本行.
没有评论未分类2008年05月18日moli 摘自MSDN ..省的以后到MSDN里去找.. using System; using System.IO;
public class TextFromFile
{
private const string FILE_NAME = \"MyFile.txt\"; public static void Main(String[] args) {
if (!File.Exists(FILE_NAME)) {
Console.WriteLine(\"{0} does not exist.\ return; }
using (StreamReader sr = File.OpenText(FILE_NAME)) {
String input;
while ((input=sr.ReadLine())!=null) {
Console.WriteLine(input); }
Console.WriteLine (\"The end of the stream has been reached.\");
sr.Close(); } } 17 五
C#——图片的移动
没有评论未分类2008年05月17日moli
前天做程序的时候,突然想让程序里的图片能动。
以为先在学线程方面的,第一反应就是用个子线程来实现,发现很麻烦,C#的线程创建麻烦,不知道是我的书太深,还是„„
昨天突然想到用计时器实现,ok。。计时器不会用。。
原来很少用计时器,琢磨„„。前些日子重装了系统,所以系统的MSDN没法用,今天把她装好。
发现时钟类有一样Tick消息。
原来如此。。。 Tick 消息就是用户设置的时间,来实现没隔一定时间执行一次。
源码放出:
//鼠标移动到图片上的消息
private void pictureBox3_MouseMove(object sender, MouseEventArgs e) {
timer1.Interval = 60; timer1.Enabled = true; }
//时钟的Tick消息
private void timer1_Tick(object sender, EventArgs e) {
if (pictureBox3.Top> -230) {
pictureBox3.Top = pictureBox3.Top – 2; }else{
pictureBox3.Top = 0; } }
图片移动起来很流畅,而且不占CPU。。2个字‘完美’。17 五
C# 何为“委托”
没有评论未分类2008年05月17日moli
转自http://zhidao.baidu.com/question/39151329.html
1.委托概述
委托是C#中新加入的一个类型,可以把它想作一个和Class类似的一种类型,和使用类相似,使用一个委托时,需要两个步骤,首先你要定义一个委托,就像是定义一个类一样;然后,你可以创建一个或多个该委托的实例。 定义一个委托的语法是这样的:
[public/protected/private] delegate returnType delegateName(paramtype param1,„)
这是我自己写的,看起来好像有点怪怪的,我来解释一下,private/protected/private是限定词,就不多说了,delegate是申明一个委托的关键词,returnType是一个返回类型,delegateName是一个你给委托起的名字,你可以写任何一个你喜欢的名字,paramtype param1„这个是参数列表。说了这么多可能看起来还是不是很好理解,我是这样认为的,实用点来讲,委托定
义就是在一个函数定义中间加入一个delegate的关键词。它的作用类似于你申明一个类:
public class ClassName {„} 创建一个委托的实例:
[public/protected/private] delegateName deleInstanceName = new delegateName(MethodName)
这个类似于实例化一个类,public ClassName instancename = new ClassName(„),这里有个要注意的地方,即MethodName方法要和delegateName的签名一致。什么是签名一致,就是说MethodName的参数列表,返回值要分别和returnType、(paramtype param1,„)一致。举个例子来说明下: public delegate string DelegateDemo(string name, int age); 比如我们如上定义了一个委托,就写法来说,其实就是在函数 string
DelegateDemo(string name, int age)前面加了一个delegate的关键字,下面我们来用创建一个函数:
public string AgentDemo(string name, int age) {
string rev = “”; „
return rev; }
这个函数是做参数传递给一个DelegateDemo实例的,接下来创建一个DelegateDemo的实例:
DelegateName instanceDemo = new DelegateName(AgentDemo);
这时要说到一致了,即AgentDemo和声明委托时的DelegateDemo(我们姑且将delegate去掉)这两个函数的返回值,参数列表要相同。终于说完了,不知道看的人明不明白。
接下来,我们可以使用这个委托了(调用一个委托),如下: string name = “cshape”; int age = 20;
instanceDemo(name, age);
当instanceDemo执行时,会执行AgentDemo函数,instanceDemo相当于C里的一个函数指针,现在这个指针指向AgentDemo的函数入口地址。 2.多点委托
前面提到的委托都只包含对一个方法的调用,如果需要调用多个方法,需要多次显示的调用这个委托,我们还有另的选择,我们可以让一个委托中包含多个方法,这样我们一次显示调用委托,就可以按照顺序连续的调用多个方法。看下面的例子:
public delegate void MultiDelegate(string name); public void AgentDemo1(string str) {
Console.WriteLine(str + “this is AgentDemo1\\n”); }
public void AgentDemo2(string s) {
Console.WriteLine(s + “this is AgentDemo2\\n”); }
MultiDelegate multiDemo = new MultiDelegate(AgentDemo1); multiDemo += new MultiDelegate(AgentDemo2); multiDemo(“multiDemo test :”); 输出的结果应该是:
multiDemo test :this is AgentDemo1 mutliDemo test :this is AgentDemo2
可以看到我们一次显示的调用一个委托,它顺序的(按照你添加方法的顺序)执行了方法AgentDemo1和AgentDemo2。这里要注意的有几点: ● 委托支持 +=,-=这样的运算符,对应为添加或去掉一个方法
● 多点委托不可以定义有返回值,因为无法处理多个方法的返回值,所以如果要使用多点委托,应该用void,否则你的编译会返回一个错误
● 多点委托不建议你的参数列表中有OUT的类型,这样只会out最后一个方法的值,其他的值会丢失。 3.委托的理解
首先申明,这只是我举的一个例子,目的是帮助理解委托的过程,其中很多地方都经不起推敲,望大家知悉。言归正传, 你想要吃饭,
但是自己又不会做(委托方不知道实现细节), 你计划找个饭店,叫个回锅肉饭(定义了一个委托) 你决定找常去的那家叫做A的饭店(实例化一个委托) 你打电话给A饭店(委托调用)
A饭店给你做好了你的回锅肉饭(代理函数工作) 饭来了,真好。
4.委托的使用时机
当你需要把一个方法传送给其他方法时,可以考虑使用委托。好像不是很好理解,也可以这样说,当你确定要处理一件事,但又不能确定处理方法时,可以考虑用委托。其实单独的说委托的应用好像有点牵强,委托更多的是在事件中的应用。 5.一个委托的例子
我用两个类来做这个例子,一个类,我称它为委托方,一个类我称它为代理方,代码如下: using System;
namespace Visen.Demo.Delegate {
/// /// StartUp 委托演示中的程序入口,含委托方。 ///
class StartUp {
#region公用的方法
#region应用程序的主入口点。 /// ///应用程序的主入口点。 ///
static void Main(string[] args) {
Console.WriteLine(\"This is a delegate demo\\n\"); Visen.Demo.Delegate.Agent ag = new Agent();
//定义一个委托类型的对象
OutMessage singleDele = new OutMessage(ag.ShowMessage);
OutMessage deleStaticMeth = new OutMessage(Agent.SShowMessage); //定义一个多点委托
OutMessage MultiDele = new OutMessage(ag.ShowMessage); MultiDele += new OutMessage(Agent.SShowMessage); singleDele(\" delegate instance singleDele\");
deleStaticMeth(\" delegate instance deleStaticMeth\"); MultiDele(\" this is a MultiDele\"); Console.Read(); }
#endregion应用程序的主入口点。 #endregion公用的方法
#region私用的字段 /// ///定义一个委托类型 ///
private delegate void OutMessage(string msg); #endregion私有的字段 } }
下面是代理方: using System;
namespace Visen.Demo.Delegate {
/// /// Agent 类为委托者的代理方,处理委托者委托的事务。 ///
public class Agent {
#region公用的方法 #region空的构造函数 ///
#endregion空的构造函数
#region显示一条信息到控制台,一个类成员函数作为代理方 /// ///显示一条信息到控制台,一个类成员函数作为代理方 ///
///显示内容 public void ShowMessage(string msg) {
Console.WriteLine(\"Method ShowMessage out:\" + msg + \"\\n\"); }
#endregion显示一条信息到控制台,一个类成员函数作为代理方
#region显示一条信息到控制台,一个类静态函数作为代理方 /// ///显示一条信息到控制台,一个类静态函数作为代理方 ///
///显示信息
public static void SShowMessage(string msg) {
Console.WriteLine(\"static Method SShowMessage out:\" + msg + \"\\n\"); }
#endregion显示一条信息到控制台,一个类静态函数作为代理方 #endregion公用的方法 } }
输出为:
This is a delegate demo
Method ShowMessage out: delegate instance singleDele
static Method SShowMessage out: delegate instance deleStaticMeth Method ShowMessage out: this is a MultiDele
static Method SShowMessage out: this is a MultiDele
可见:方法函数可以是类成员函数,也可以是一个静态成员,只要和委托的签名相同就可以了。
有错的地方,请大家批评指正,谢谢! 12 五
湖南这边受四川地震影响很大。。吓死我了。。
没有评论未分类2008年05月12日moli - -。。关于湖南这边的“余震”。。。
来源于四川http://news.qq.com/a/20080512/002522.htm 吓死我了。。我在8楼。。整栋楼的人都在撤退。。 还以为是房子问题。。
从来没有体验过地震是什么感觉。。今天是第一次。。感觉余震是这样的。。。- -
更多信息和视频,请来我的网站观看, www.567321.cn 04 五
.net写病毒木马更容易..- -||
没有评论未分类2008年05月4日moli class Program {
static void Main(string[] args) {
//操作系统
Console.WriteLine(\"操作系统是:{0}\Environment.OSVersion);
//包涵这个应用程序的目录
Console.WriteLine(\"\\n本程序目录(获取自身):{0}\Environment.CurrentDirectory); //这个程序上的驱动
string[] Drives=Environment.GetLogicalDrives(); for (int i=0;i //用的是哪个版本的.net Console.WriteLine(\"\\n.net的版本是:{0}\Environment.Version); //获得当前机器的名字 Console.WriteLine(\"\\n当前系统名称:{0}\Environment.MachineName); //获得当前CPU的数量 Console.WriteLine(\"\\n当前CPU的数量:{0}\Environment.ProcessorCount); //获得通向系统的目录的完整路径 Console.WriteLine(\"\\n系统目录在:{0}\ //返回启动这个应用程序的实体名称 Console.WriteLine(\"\\n启动这个程序的实体名称(获取当前系统账号):{0}\ Console.Read(); } C#常用控件缩写 2010 年 03 月 25 日 / madgoat posted in 程序相关 / 60 views / No Comments 标准控件 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lbl Label 7 llb LinkLabel 8 lst ListBox 9 lvw ListView 10 mtx MaskedTextBox 11 cdr MonthCalendar 12 icn NotifyIcon 13 nud NumeircUpDown 14 pic PictureBox 15 prg ProgressBar 16 rdo RadioButton 17 rtx RichTextBox 18 txt TextBox 19 tip ToolTip 20 tvw TreeView 21 wbs WebBrowser 容器控件 1 flp FlowLayoutPanel 2 grp GroupBox 3 pnl Panel 4 spl SplitContainer 5 tab TabControl 6 tlp TableLayoutPanel 菜单和工具栏 1 cms ContextMenuStrip 2 mns MenuStrip 3 ssr StatusStrip 4 tsr ToolStrip 5 tsc ToolStripContainer 数据 1 dts DataSet 2 dgv DataGridView 3 bds BindingSource 4 bdn BindingNavigator 5 rpv ReportViewer 对话框 1 cld ColorDialog 2 fbd FolderBrowserDialog 3 fnd FontDialog 4 ofd OpenFileDialog 5 sfd SaveFileDialog 组件 1 bgw BackgroundWorker 2 dre DirectoryEntry 3 drs DirectorySearcher 4 err ErrorProvider 5 evl EventLog 6 fsw FileSystemWatcher 7 hlp HelpProvider 8 img ImageList 9 msq MessageQueue 10 pfc PerformanceCounter 11 prc Process 12 spt SerialPort 13 scl ServiceController 14 tmr Timer 印刷 1 psd PageSetupDialog 2 prd PrintDialog 3 pdc PrintDocument 4 prv PrintPreviewControl 5 ppd PrintPreviewDialog 水晶报表 1 crv CrystalReportViewer 2 rpd ReportDocument 其他 1 dud DomainUpDown 2 hsc HScrollBar 3 prg PropertyGrid 4 spl Splitter 5 trb TrackBar 6 vsc VScrollBar ============================================== AdRotator ar Button btn Calender cal CheckBox chk CheckBoxList chklst Column (DataGridView的) col ColumnHeader (ListView 的) ch Combobox cbo CompareValidator cv CrystalReportViewer rptvew DataGrid dg DataGridView dgv DataList dl DomainUpDown dud DropDownList ddl FileUpload ful Form frm GridView gv GroupBox grp HiddenField hf Image img ImageButton imgbtn ImageList il Label lbl LinkButton lnkbtn ListBox lst ListView lv MenuStrip ms ObjectDataSource ods PagedDataSource pds Panel pnl PictureBox pic RadioButton rdo RadioButtonList rdolst RangeValidator rv RegularExpressionValidator rev Repeater rpt RequiredFieldValidator rfv StatusLabel slbl StatusStrip ss TabControl tab Table tbl TabPage tp TextBox txt Timer tmr ToolStrip ts ToolStripButton tsbtn ToolStripDropDownButton tsddb ToolStripLabel tslbl ToolStripMenuItem tsmi TreeView tv/tvw ValidatorSummary vs WebBrowser &nbs p; wb 因篇幅问题不能全部显示,请点此查看更多更全内容