2014-11-11 2 views
0

Я использовал этот сайт для примера создания пользовательского элемента управления в thiscase TextBox:Почему при добавлении DLL-файла из проекта библиотеки классов я получаю ошибку: Ошибка при ошибке Provider1?

Custom Control

В проекте библиотеки классов я построил проект и у меня есть файл DLL. Тогда в моем проекте Windows Forms я взял элементы, когда я выбрал файл dll, я вижу, что он был добавлен в список файлов DLL, но я не вижу этого фиолетового знака рядом с ним:

Это снимок экрана проекта windows forms при добавлении файла dll.

Error Custom TextBox

На покинул библиотеку DLL после загруженную он называется: ExtdTextBox но он оставил рядом с ним нет никакого этот фиолетовый знак.

Затем в конструкторе form1 вы видите текстовое поле после его перетаскивания.

А справа на проводнике раствора на день вы видите ошибки я получаю:

Ошибки на errorProviler1

Это класс я добавил к моему проекту библиотеки классов:

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

namespace CustomControl 
{ 
    public class ExtdTextBox : TextBox 
    { 
     #region Member Variables 
     Color waterMarkColor = Color.Gray; 
     Color forecolor; 
     Font font; 
     Font waterMarkFont; 
     string waterMarkText = "Your Text Here"; 
     #endregion 
     #region Constructor 
     public ExtdTextBox() 
     { 
      base.Text = this.waterMarkText; 
      this.forecolor = this.ForeColor; 
      this.ForeColor = this.waterMarkColor; 
      this.font = this.Font; 
      //event handlers 
      this.TextChanged += new EventHandler(ExtdTextBox_TextChanged); 
      this.KeyPress += new KeyPressEventHandler(ExtdTextBox_KeyPress); 
      this.LostFocus += new EventHandler(ExtdTextBox_TextChanged); 
     } 
     #endregion 
     #region Event Handler Methods 
     void ExtdTextBox_TextChanged(object sender, EventArgs e) 
     { 
      if (!string.IsNullOrEmpty(this.Text)) 
      { 
       this.ForeColor = this.forecolor; 
       this.Font = this.font; 
      } 
      else 
      { 
       this.TextChanged -= new EventHandler(ExtdTextBox_TextChanged); 
       base.Text = this.waterMarkText; 
       this.TextChanged += new EventHandler(ExtdTextBox_TextChanged); 
       this.ForeColor = this.waterMarkColor; 
       this.Font = this.waterMarkFont; 
      } 
     } 
     void ExtdTextBox_KeyPress(object sender, KeyPressEventArgs e) 
     { 
      string str = base.Text.Replace(this.waterMarkText, ""); 
      this.TextChanged -= new EventHandler(ExtdTextBox_TextChanged); 
      this.Text = str; 
      this.TextChanged += new EventHandler(ExtdTextBox_TextChanged); 
     } 
     #endregion 
     #region User Defined Properties 
     /// <summary> 
     /// Property to set/get Watermark color at design/runtime 
     /// </summary> 
     [Browsable(true)] 
     [Category("Extended Properties")] 
     [Description("sets Watermark color")] 
     [DisplayName("WaterMark Color")] 
     public Color WaterMarkColor 
     { 
      get 
      { 
       return this.waterMarkColor; 
      } 
      set 
      { 
       this.waterMarkColor = value; 
       base.OnTextChanged(new EventArgs()); 
      } 
     } 
     [Browsable(true)] 
     [Category("Extended Properties")] 
     [Description("sets TextBox text")] 
     [DisplayName("Text")] 
     /// <summary> 
     /// Property to get Text at runtime(hides base Text property) 
     /// </summary> 
     public new string Text 
     { 
      get 
      { 
       //required for validation for Text property 
       return base.Text.Replace(this.waterMarkText, string.Empty); 
      } 
      set 
      { 
       base.Text = value; 
      } 
     } 
     [Browsable(true)] 
     [Category("Extended Properties")] 
     [Description("sets WaterMark font")] 
     [DisplayName("WaterMark Font")] 
     /// <summary> 
     /// Property to get Text at runtime(hides base Text property) 
     /// </summary> 
     public Font WaterMarkFont 
     { 
      get 
      { 
       //required for validation for Text property 
       return this.waterMarkFont; 
      } 
      set 
      { 
       this.waterMarkFont = value; 
       this.OnTextChanged(new EventArgs()); 
      } 
     } 
     /// <summary> 
     /// Property to set/get Watermark text at design/runtime 
     /// </summary> 
     [Browsable(true)] 
     [Category("Extended Properties")] 
     [Description("sets Watermark Text")] 
     [DisplayName("WaterMark Text")] 
     public string WaterMarkText 
     { 
      get 
      { 
       return this.waterMarkText; 
      } 
      set 
      { 
       this.waterMarkText = value; 
       base.OnTextChanged(new EventArgs()); 
      } 
     } 
     #endregion 
    } 
} 

проект библиотеки классов, как в примере, сайт я создал новый проект под C#> окна> окна формы управления библиотекой

.net 4.5, так как мой проект окон окон, я хочу добавить dll в .net 4.5

ответ

1

Это не ошибка; это свойство с именем Error, предоставляемое компонентом ErrorProvider. Этот компонент позволяет связать сообщение об ошибке с любым элементом управления.

Смежные вопросы