一切福田,不離方寸,從心而覓,感無不通。

Category Archives: C#

C# TextBox常用方法总结

我们在使用C# TextBox进行开发操作的时候经常会碰到C# TextBox的使用,那么C# TextBox的使用有没有一些常用的技巧呢?如C# TextBox换行的处理,其实就是一些常用的操作,那么这里就向你介绍几个我们常见的需求以及解决方法。 一、关于C# TextBox全选的判断: int SelectLength=this.textBox1.SelectionLength;//获取选中的字符长度     if (SelectLength == this.textBox1.Text.Length) {//判断是否全部选中     MessageBox.Show("你已经选中");     }   二、关于C# TextBox换行、设置光标位置、随文本滚动 ◆C# TextBox换行 TextBoxControl.Text += Environment.NewLine;  如何在多行TextBox中写入文本时实现换行?由于Windows系统中,回车符需两上字符。因此方法是使用\r\n标记,如 Label="Calculation " ":…….SUM\r\n";   textBox.AppendText(Label);  另外更有一个办法是用Environment.Newline的方法,能够兼容Windows和Linux系统。 ◆C# TextBox设置光标位置到文本最后 TextBoxControl.SelectionStart = TextBoxControl.TextLength;  ◆C# TextBox随文本滚动 TextBoxControl.ScrollToCaret();   如何在多行TextBox中用滚动条,使添加文本后自动滚动显示到最后一行?方法是使用ScrollToCaret方法,自动滚动到插入符的位置,如: textBox.AppendText(Label);   textBox.ScrollToCaret();   那么对于C# TextBox常用操作的内容就向你介绍到这里,希望对你了解和学习C# TextBox的使用有所帮助。 转自:http://blog.sina.com.cn/s/blog_43eb83b90100l18v.html

龙生   25 Jun 2011
View Details

C# UDP通信示例

大家好,这是我最近写了一个Udp通信的小程序,发表出来和大家共同学习,我希望和大家共同进步。 upd通信接受端:

udp通信的发送端:

辅助类:

    转自:http://www.cnblogs.com/zhaotianyu001/articles/549259.html

龙生   04 Jun 2011
View Details

C#UDP通信 | C#UDP广播

Internet协议族中有支持无连接的传输协议,即UDP协议。UDP协议提供了一种方法来发送经过封装的IP数据报,而且不必建立连接就 可以发送这些IP数据报。 服务器端:

    客户端:

    MSDN 实例

Microsoft Visual Studio 2005/.NET Framework 2.0 同时提供下列产品的其他版本: •.NET Framework 3.0 •Microsoft Visual Studio 2008/.NET Framework 3.5 .NET Framework 类库UdpClient 成员 提供用户数据报 (UDP) 网络服务。 下表列出了由 UdpClient 类型公开的成员。 公共构造函数 名称  说明 UdpClient  已重载。初始化 UdpClient 类的新实例。 公共属性 (请参见 受保护的属性 )   名称  说明 Available  获取从网络接收的可读取的数据量。 Client  获取或设置基础网络 Socket。 DontFragment  获取或设置 Boolean 值,指定 UdpClient 是否允许对 Internet 协议 (IP) 数据报进行分段。 EnableBroadcast  获取或设置 Boolean 值,指定 UdpClient 是否可以发送或接收广播数据包。 ExclusiveAddressUse  获取或设置 Boolean 值,指定 UdpClient 是否只允许一个客户端使用端口。 MulticastLoopback  获取或设置 Boolean 值,指定是否将输出多路广播数据包传递给发送应用程序。 Ttl  获取或设置一个值,指定由 UdpClient 发送的 Internet […]

龙生   04 Jun 2011
View Details

在winform中嵌入 flash

很多光盘上的程序,比如电脑迷光盘,开头总有一段动画,用来展现企业品牌和LOGO之用。这个动画是Flash做的,而且嵌入到程序中简直做到无缝融合,因为右键点击它也不会有那特有而烦人的Flash右键菜单。 因此将Flash融合到WinForm中能够增强程序的多媒体效果和炫丽的外观。现在我们就来看看在C#桌面程序中如何插入Flash视频,而且去掉烦人的右键菜单。   首先要插入Flash就必须使用Flash控件,在工具栏右键选择“选择项…”,然后在“COM组件”面板下点击“浏览”按钮,在本机电脑C:\WINDOWS\system32\Macromed\Flash\目录里选择Flash8.ocx(也有可能是Flash9F.ocx,版本不同所致),然后点击确定就可以了。但到这里还没有完,因为要使用Flash控件必须注册它。 在CMD里面输入如下: regsvr32 C:\WINDOWS\system32\Macromed\Flash\Flash8.ocx 系统会提示注册成功,这个时侯就可以在VS2008里面使用该控件了! 打开VS2008,新建一个Windows程序,然后把刚才我们选择的Flash控件Shockwave Flash Object拖到窗体中,这时窗体中会出现一个白色的矩形框,Name属性我们设置为Myflash,在里面可以播放我们需要的swf文件。   注意到该控件主要有几个属性: Name属性,这个是所有对象都会有的。 Menu属性,这个是Flash菜单项,默认值为true,也就是右键的时候会出现完整的Flash菜单,如果设置为False,则只出现最简的菜单(设置与关于)。 Move属性,这个属性是用来指定要播放的Flash文件的。 Playing属性,指定是否装在影片之后马上播放。 Quality属性,设置影片的质量。 Scalemode属性,设置影片的缩放模式。 Visible属性,设置影片控件的可视与否。   接下来我们在窗体中放置一个按钮,Text属性设置为LoadSwf。双击添加事件代码如下: OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Flash文件|*.swf"; DialogResult dr = ofd.ShowDialog(); if (dr == DialogResult.OK) {                   Myflash.Movie = ofd.FileName;     Myflash.Play(); }    这样当程序运行的时候点击按钮会要我们选择一个SWF文件,选择好后确定就自动播放了! 当然,我们还可以添加一些按钮,分别为Play,Pause Play按钮的播放功能如下: This.Myflash.Play(); Pause按钮的暂停功能如下: This.Myflash.StopPlay();   这里就不再啰嗦了,各位园友可以自行去研究一些常用的功能。下面我们主要来讲解如何消去烦人的Flash右键菜单! 消去Flash右键菜单有两种方法(本人愚笨,到目前只发现这两种):   方法一: 这个方法比较复杂,也比较繁琐,主要是用到API函数的调用。代码如下:   #region 去掉Flash右键菜单,API函数的声明         private const int GWL_WNDPROC = -4;         public delegate IntPtr FlaWndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);                private IntPtr OldWndProc = IntPtr.Zero;         private […]

龙生   21 May 2011
View Details

用C#编写Windows服务

前言:编写一个Windows服务程序,定时从数据库中拿出记录发送邮件。 测试环境:Visual Studio 2005 SP1、Windows Server 2003 SP2 一、新建项目 打开VS2005,新建一个“Windows 服务”项目。 二、添加Timer 展开“工具箱”,在“组件”标签下找到“Timer”双击,这时就添加了一个Timer组件,修改“Name”属性为“timEmail”、“Enabled”为“false”、“Interval”为“60000”。 接下来要做一些修补工作,不知是VS2005的BUG还是我没找着地方,在VS2003下是不存在该问题的:刚从“组件”下添加的“Timer”按理说应该来自“System.Timers命名空间”,也只有“System.Timers.Timer”才能在Windows服务程序中正常工作,但是现在这个Timer却是属于“System.Windows.Forms.Timer”的。所以得稍作修改,打开“.Designer.cs”文件,修改如下: #region 组件设计器生成的代码//……..以上略/// <summary> /// 设计器支持所需的方法 – 不要/// 使用代码编辑器修改此方法的内容。/// </summary>private void InitializeComponent(){            this.components = new System.ComponentModel.Container();            //this.timEmail = new System.Windows.Forms.Timer(this.components);原            this.timEmail = new System.Timers.Timer();//改            this.timEmail.Interval = 60000;            this.ServiceName = "Service1";}#endregion//private System.Windows.Forms.Timer timEmail;原private System.Timers.Timer timEmail;//改 三、添加配置文件 服务每次调用配置文件,获取一些基本参数,这样一些变更就可直接修改配置文件而不必修改代码。新建ServiceConfig.xml存放于项目“Bin\Debug\”下: <?xml version="1.0" encoding="utf-8" ?> <serviceConfig>    <serviceItem         name="sendEmail"         enable="true"         elapsed="60000"         connectionString="your database connection…"         smtp="smtp address"         account="your email account…"         password="your password…" >    </serviceItem></serviceConfig>四、以下是实现代码 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.ServiceProcess;using System.Text;using System.Xml;//操作配置文件using System.IO;//写日志using System.Threading;//使用线程 namespace […]

龙生   07 May 2011
View Details

C# Winform 中webBrowser显示html内容时禁止错误提示的方法

在winform中有一个控件可以显示html的内容,该控件就是webbrowser,设置它的DocumenText属性为HTML的内容即可。 在使用WebBrowser做UI的时候,我们有时不希望里面的链接被用户点击,更不希望弹出烦人的脚本错误提示框,也不希望用户能点出右键的IE菜单,要做到这些,其实都是很easy地…

禁用错误脚本提示 :将 WebBrowser控件的 ScriptErrorsSuppressed 设为 true 禁用右键菜单 :将 WebBrowser 的 IsWebBrowserContextMenuEnabled 设为 false 禁用快捷键 :将 WebBrowser 的 WebBrowserShortcutsEnabled 设为 false 禁用超链接 :超链接分为两种,一种是 当前窗口直接转向, 一种是 在新窗口中打开  当然窗口直接转向:将 WebBrowser 的 AllowNavigation 设为 false 禁用新窗口打开,需要处理 WebBrowser 的 NewWindow 事件 

做完上面的工作,基本就完工了,还有最后一点需要注意,那就是 Drag-And-Drop  。记得将 WebBrowser 的 AllowWebBrowserDrop 设为 false 

龙生   03 Apr 2011
View Details

WinForm中使控件显示在最上层的方法

控件.BringToFront();此方法只适合在同一Form中的控件。

龙生   03 Apr 2011
View Details

C# DataGridView很全面的基本功能介绍

新的 DataGridView 是 .NET 2.0 中的一个新控件,是针对 .NET 1.x 中功能较差的标准 DataGrid 控件而设计的。Matthew MacDonald 在本文中论述了许多改进,包括:DataGridView 支持大量自定义和细致的格式设置、灵活的大小调整和选择、更好的性能以及更丰富的事件模型。 .NET Framework 的前两个版本(.NET 1.0 和 .NET 1.1)在数据绑定方面留下了明显的空白。尽管开发人员拥有一个灵活的可配置模型,可以将几乎所有的控件链接到几乎所有的数据源,但却没有一种有效的方法来显示完整的信息表。可以实现此目的的唯一工具就是 DataGrid 控件,这种控件非常适合于处理简单的演示,但是不太适合实际代码。 填补这项空白是 .NET 2.0 的主要目标之一,并且 Microsoft 已经用全新的网格控件 DataGridView 来实现此目标。DataGridView 有两个指导原则。首先,其目标是支持常见任务(如主控/详细列表、验证和数据格式设置),而不需要您编写许多代码。更重要的是,设计过程中始终考虑了扩展性,因此您可以集成所需的专用功能,而不必采用低级别的复杂编程。   本页内容   基本数据绑定   美化 DataGridView   使用 DataGridView 选择单元格   DataGridView 对象   DataGridView 样式   自定义单元格格式   按钮列   图像列   编辑 DataGridView   处理错误   验证输入   使用列表列约束选择   小结 基本数据绑定 熟悉 DataGridView 的最佳方法就是实际尝试一下,无需配置任何属性。就像 DataGrid 一样,您可以使用 DataSource 属性来绑定 DataTable 对象(或从 DataTable 派生的对象)。

与 DataGrid 不同的是,DataGridView 一次只能显示一个表。如果绑定整个 DataSet,则不会显示任何数据,除非您使用要显示的表名设置了 DataMember 属性。

基本的 […]

龙生   03 Apr 2011
View Details

DataGridView 密码列(显示为*号)的设置

DataGridView 密码列(显示为*号)的设置 代码

龙生   26 Mar 2011
View Details