.NET控件,如Outlook的电子邮件地址文本控件

Rya*_*ley 5 c# controls winforms

我正在寻找一个控件(或建立我自己的建议)的.NET 2.0(Windows)应用程序,就像Outlook邮件窗口中的地址框(蜜蜂下面)

Outlook地址控制http://content.screencast.com/users/Ryan_Farley/folders/Jing/media/a511142b-dd04-4885-ad1e-f2582c201723/2009-03-12_2116.png

该控件基本上适用于每个电子邮件地址就像文本区域中的项目.我并不在乎让用户也像在Outlook中那样输入这个区域.我只是希望能够将这些完整的字符串(电子邮件地址)添加到文本区域或列表中,用户可以选择它们(但不能编辑),并可以通过列表删除或退格以删除整个项目(e邮箱地址).

任何人都知道那里有控件吗?有关建立自己的建议吗?(或者任何人都知道你甚至称之为控件,所以我知道要google什么?)

nsa*_*llo 1

这里有一些代码可以帮助您入门。

using System.Text;
using System.Windows.Forms;
using System;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            textBox1.Text = "mail@mail.com; mail2@mail.com; mail3@mail.com";
        }

        private void textBox1_Click(object sender, EventArgs e)
        {
            int nextSpaceIndex = textBox1.Text.Substring(textBox1.SelectionStart).IndexOf(' ');
            int firstSpaceIndex = textBox1.Text.Substring(0, textBox1.SelectionStart).LastIndexOf(' ');
            nextSpaceIndex = nextSpaceIndex == -1 ? textBox1.Text.Length : nextSpaceIndex + textBox1.SelectionStart;
            firstSpaceIndex = firstSpaceIndex == -1 ? 0 : firstSpaceIndex;
            textBox1.SelectionStart = firstSpaceIndex;
            textBox1.SelectionLength = nextSpaceIndex - firstSpaceIndex;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当您单击电子邮件地址时,这将选择整个电子邮件地址。我不确定这是否是您想要的功能(不过听起来好像是),但它会帮助您入门。如果除了单击功能之外您还想做其他事情,请挂钩 提供的其他事件TextBox