02
2012
04

窗体关闭却是最小化

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
}
02
2012
04

窗口显示不正常的解决方法

LoaderExceptions
解决方法非常简单,请首先关闭你的开发工具然后删除所有*.vshost.exe 的文件。

重新打开visual studio开发工具,重新编译你的程序。
02
2012
04

C# 窗口全屏

private void Form1_Load(object sender, EventArgs e)
{
this.SetVisibleCore(false);
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
this.SetVisibleCore(true);
}
02
2012
04

C# 程序打包

首先在VS2005中打开一个想要打包的项目,接着在“文件”菜单上指向“添加”,然后单击“新建项目”。在“添加新项目”对话框中,单击“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中,键入“My TEST Installer”。(当然这里的名称框中可以随便输入,以下不做一一叙述。)“确定”即可。 这里便可看到项目已经添加到了“解决方案资源管理器”中,并且“文件系统编辑器”打开。 在“解决方案资源管理器”中选择“My TEST Installer”项目。在“属性”窗口中,选择“ProductName”属性,(“ProductName”属性指定在文件夹名称和“添加/删除程序”对话框中为该应用程序显示的名称。)键入“My TEST”。 然后就是把基于windows应用程序添加到安装程序了。第一步是在“解决方案资源管理器”中选择“My TEST Installer”项目。在“文件系统编辑器”中,选择“应用程序文件夹”节点。第二步则在“操作”菜单上指向“添加”,然后单击“项目输出”。在“添加项目输出组”对话框中,从“项目”下拉列表中选择“My TEST”。从列表中选择“主输出”组。在“配置”框中,选择“(活动)”。单击“确定”关闭对话框。第三步则为应用程序创建快捷方式。在“文件系统编辑器”中,选中“来自 My TEST 的主输出”节点。并右键点击,创建快捷方式。并为此快捷方式重命名为你所希望出现在用户桌面上的名称。同时把些快捷方式拖拽至左部的“用户桌面”文件夹中。第四步也是最后一步,在“生成”菜单上选择“生成My TEST Installer”,便可以分发给用户安装了。 有时候程序的安装运行还需要某些软件、补丁,比如IE的版本要在5.0以上等,这时就需要添加启动条件。在“解决方案资源管理器”中选择“My TEST Installer”项目。在“视图”菜单上指向“编辑器”,然后单击“启动条件”。在“启动条件编辑器”中,选择“目标计算机上的要求”节点。在“操作”菜单上选择“添加文件启动条件”。此时,将在“搜索目标计算机”节点之下添加一个“搜索 File1”节点,在“启动条件”节点之下添加一个“Condition1”节点(condition :以…为条件)。将“搜索 File1”重命名为“搜索 Internet Explorer”。在“属性”窗口中,将“FileName”属性设置为 Iexplore.exe,将“Folder”属性设置为 [ProgramFilesFolder],将“Depth”属性设置为 2,将“MinVersion”属性设置为 5.00。选择“Condition1”节点。将“Message”属性设置为下面的内容为“此程序需要 Microsoft Internet Explorer 5.0 或更高版本。请安装 Internet Explorer 并重新运行 My TEST Installer。”
...
02
2012
04

超级链接的程序

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
...
02
2012
04

vs2008的项目用vs2005打开

1. 用记事本打开解决方案文件[解决方案名].sln,然后修改最上面两行为如下代码:
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005

2. 用记事本打开每个项目文件[项目名].csproj
节点下移除如下节点: v2.0
并且修改ProductVersion和Import两个节点为如下:
...
02
2012
04

DataGridView如何调整列宽

DataGridView有一个属性是AutoSizeColumnMode,他有几个枚举值:
AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格。
AllCellsExceptHeader 调整列宽,以适合该列中的所有单元格的内容,不包括标题单元格。
ColumnHeader 调整列宽,以适合列标题单元格的内容。
DisplayedCells 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,包括标题单元格。
DisplayedCellsExceptHeader 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,不包括标题单元格。
...
02
2012
04

CSharp数据类型

值类型:整型、布尔型、字符型、实数型、结构型、枚举型。
引用类型:类、对象、字符串、数组、接口、委托。


区别:
1、值类型通常被分配在栈上,它的变量直接包含变量的实例,使用效率比较高。

2、引用类型分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通过该指针来引用实例。

3、值类型继承自ValueType(注意:而System.ValueType又继承自System.Object);而引用类型继承自System.Object。

4、值类型变量包含其实例数据,每个变量保存了其本身的数据拷贝(副本),因此在默认情况下,值类型的参数传递不会影响参数本身;而引用类型变量保存了其数据的引用地址,因此以引用方式进行参数传递时会影响到参数本身,因为两个变量会引用了内存中的同一块地址。
...
02
2012
04

CSharp命名规范

1. 命名规范
a) 类
【规则1-1】使用Pascal规则命名类名,即首字母要大写。
【规则1-2】使用能够反映类功能的名词或名词短语命名类。
【规则1-3】不要使用“I”、“C”、“_”等特定含义前缀。
【规则1-4】自定义异常类应以Exception结尾。
【规则1-5】文件名要能反映类的内容,最好是和类同名。
b) 类字段
【规则2-1】用camel规则来命名类成员变量名称,即首单词(或单词缩写)小写。
【规则2-2】类字段变量名前可加“_”前缀。
【规则2-3】坚决禁止在普通变量前加“m_”(这是VC老命名规则)。
...
02
2012
04

CSharp-word类库

目录

动态生成Word文档并填充数据
创建并打开一个空的word文档进行编辑
把Word文档装化为Html文件
导入模板
word中添加新表
在表中插入新的1行
合并单元格
分离单元格
通过段落控制插入
文档设置及获取光标位置
文档格式设置
段落格式设定
字体格式设定
获取光标位置
光标移动
读取Word表格中某个单元格的数据
修改word表格中指定单元格的数据
清除word进程
清除excel进程
网页内容保存或导出为word或excel
判断系统是否装excel
判断系统是否装word

...
01
2012
04

C#中避免相同MDI子窗口重复打开的方法

  方法一:
  直接检测是否已经打开此MDI窗体
  // 是否已经打开了?(用循环来判断)
  foreach (Form childrenForm in this.MdiChildren)
  {
  //检测是不是当前子窗体名称
  if (childrenForm.Name == "子窗体名称")
  {
  //是的话就是把他显示
  childrenForm.Visible = true;
  //并激活该窗体
  childrenForm.Activate();
  return;
...
01
2012
04

C#写的自动关机及执行CMD命令

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace WindowsApplication1
{
public partial class Form1 : Form
...
01
2012
04

C#控制台改变字体背景颜色

Console.Title = "131"; //设置控制台窗口的标题
Console.ForegroundColor = ConsoleColor.Red; //设置字体颜色为红色
Console.BackgroundColor = ConsoleColor.Green; //设置黑屏为绿屏,即背景颜色
01
2012
04

C#打字游戏

//打字游戏
private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Interval = 500; //定时0.5秒
this.timer1.Start();    //定时启动 
}


Random r = new Random();
private void timer1_Tick(object sender, EventArgs e)
...
01
2012
04

C#窗体及控件的快捷键

菜单上那个快捷键,选则一个菜单项,在右边的属性栏的ShortcutKeys里加快捷键就可以了
ShortcutKeyDisplay里的内容可以覆盖掉快捷键的内容.
================================================================================

把窗体的KeyPreview改成true
添加窗体的KeyDown事件。
private void Form1_KeyDown(object sender, KeyEventArgs e)
...
01
2012
04

C#编写最小化时隐藏为任务栏图标的Window

C#编写最小化时隐藏为任务栏图标的Window appllication.
1.设置窗体属性showinTask=false

2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。

3.添加窗体最小化事件(首先需要添加事件引用):

// this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);
...
01
2012
04

C#编程实现的一个游戏练级外挂

不知道大家玩过”密传”没有,大学的时候和同学一起玩过,由于没有合适的练级外挂,由于他玩的是弓箭手,我便用C#写了一个弓箭手练级外挂.

今天我偶然看到这个很久以前写的程序,于是整理出来奉献给大家,其实用VC++来实现更好,不过这样希望能给.net的初学者一点帮助.

首先,这不是介绍如何破解IP封包的文章,当时写这个的外挂只是做自动练级用,出于技术不够,便想了一个很笨的方法,从屏幕上的HP值的变化来判断是否自动补血,而打怪更简单,这个游戏本身就带有寻找怪的功能,而弓箭手就只需要不断的瞄准和射击就可以了,而瞄准和射击也就是不断的按下(keydown)玩家指定的键,如F1. 从这点来看,说是外挂其实有点勉强了.
...
01
2012
04

C#.Net面试题

1.面向对象的思想主要包括什么? 继承 多态 封装

2.什么是ASP.net中的用户控件 用户控件. 不会说懂得做

3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
装箱和拆箱发生 值类型向引用类型转换,和引用类型向值类型转 重载:同一个函数参数不同

4.列举一下你所了解的XML技术及其应用
xml可以用来做网页(xslt) xml可以当作数据库 xml可以用来保存对象的系列化

5.值类型和引用类型的区别?写出C#的样例代码。
...
30
2012
03

C# Winfrom中走动的时间

//Form1.cs的代码
using System.Threading;//用线程来,虽然先引进这个命名空间

namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//因为VS2005有这个安全线程限制,我们先把这个限制关掉:
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
...
30
2012
03

C# Winfrom中右键的快捷菜单

从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上。这时系统就会在这个页面下面自动创建一个contextMenuStrip1控件,如果你想在这个页面添加多个菜单,那么你也可以拖曳多个这种控件到设计页面上。contextMenuStrip1(非可视化控件,位于菜单和工具栏下面的ContextMenuStrip控件)然后在界面上设置你的contextMenuStrip1想写什么随便写

然后拖出一个richTextBox1设置ContextMenuStricp属性为为contextMenuStrip1。(找到richTextBox1的ContextMenuStricp属性(属性栏上有),右边的下拉按钮可以选择)。
...