最近项目中的知识点整理

    技术2024-11-20  38

    自定义控件示例

    一个项目只产生一个程序文件。要产生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

    最新回复(0)