现在的位置: 首页 > 综合 > 正文

最近项目中的知识点整理

2014年03月18日 ⁄ 综合 ⁄ 共 2297字 ⁄ 字号 评论关闭

自定义控件示例

一个项目只产生一个程序文件。要产生dll文件,得分成2个项目。

 

解决方案>项目>类 

 

方法比较多嘛,VS也提供了建立用户控件类型的项目。我给一种方法吧,不要局限于这种。

 

假设我需要定制一个textbox,使它具有这样的性质:有一个默认的字符串,这个字符串会显示在textbox里面,当这个textbox获得焦点后,textbox会清空这个默认字符串,当textbox失去焦点后,如果textbox的内容是空的话,会显示这个默认字符串。

 

1.新建一个解决方案Solution1。

文件-新建项目-其他类型项目-visual stdio空白解决方案

2.在这个解决方案里面添加2个项目:Solution1Test

右键解决方案-添加新建项目-Windows窗体应用程序(项目名称:Solution1Test)

右键解决方案-添加新建项目-类库(项目名称:MyTextBox)

3.这个时候系统自动帮你在MyTextBox里面产生了一个类Class1,把这个改个名叫MyTextBox,然后添加必要的引用:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

然后写入如下的内容:

namespace MyTextBox

{

public class MyTextBox:TextBox

{

/// <summary>

/// 默认的字符串

/// </summary>

string _DefaultString;

/// <summary>

/// 默认的字符串

/// </summary>

public string DefaultString

{

    set { _DefaultString = value; 

        this.Text = value; }

}

 

public MyTextBox()

{

    this._DefaultString = "请输入关键字";

    this.Text = this._DefaultString;

}

 

protected override void OnEnter(EventArgs e)

{

    if (this.Text == this._DefaultString)

    {

        this.Text = string.Empty;

    }

    base.OnEnter(e);

}

 

protected override void OnLeave(EventArgs e)

{

    if (this.Text == string.Empty)

    {

        this.Text = this._DefaultString;

    }

    base.OnLeave(e);

}

}

}

4.把MyTextBox这个项目编译一下

右键-生成,在bin目录下面自然就会有个dll文件了。

5.转到Solution1Test,添加对MyTextBox的引用。这个时候,你在左边的工具箱里面应该就能看到这个MyTextBox了,直接拖到窗体上去,然后在窗体的构造函数里面设置一下MyTextBox的默认字符串,当然不设置也行,应为MyTextBox的构造函数已经初始化了一个默认的字符串:

public Form1()

{

InitializeComponent();

this.myTextBox1.DefaultString = "请输入关键字";

}

6.运行,效果和预期的一样。 

 

Visual Studio 2008 优化提示

 

       首先记住你可以复位所有的Visual Studio 设置 (Tools->Import and Export Settings->Reset All Settings)

 

Visual Studio 优化提示:

 

关闭 F1. (Tools->Options->Environment->Keyboard) (这样避免按ESC,不小心按到F1) 

关闭 "Animate environment tools" (Tools->Options->Environment->General) 

关闭 Start Page (Tools->Options->Environment->Startup) 

关闭 "Track Active Item in Solution Explorer" (Projects and Solutions). 

关闭 Navigation Bar (Tools->Options->Text Editor->C#) 

设置 "AutoToolboxPopulate" 为 false (Tools->Options->Windows Forms Designer). 

关闭追踪变化. (Tools->Options->Text Editor->Track changes) 

(Ctrl+K, Ctrl+D)  重新格式化你的代码. 

Ctrl+k+c 注释块, Ctrl+k+u 取消注释 

在快捷方式后加 /nosplash,将加快VisualStudio启动速度,如“C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/devenv.exe” /nosplash 

CTRL+W,A   打开命令开窗口,可以打开文件..... 

 

编译dll

wsdl /out:d:/SendPayResult.cs d:/xx1.wsdl

csc /target:library /out:d:/xx1.dll d:/xx1.cs

抱歉!评论已关闭.