概要
C#のWindowsフォームアプリで既存のTextBoxを継承して、オリジナルのTextBox作ってFormに配置しようとしたのにツールボックスに表示されない、表示されて配置しようとしても「ツールボックス アイテム‘TextBoxEx’ の読み込みに失敗しました。アイテムはツールボックスから削除されます。」
となってしまって困りました。
解決策
オリジナルのTextBoxを作成したら、次に開始
をクリックしてアプリを終了させることで、ツールボックスに表示されてFormに配置できるようになります。
作成~配置までの手順
オリジナルTextBoxの作成
TextBoxEx
という名前でクラスを作成
TextBoxExのコーディング
TextBoxからカーソルが離れたらTextBoxの背景を赤にする
TextBoxEx.cs
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp6
{
public sealed class TextBoxEx : TextBox
{
protected override void OnLeave(EventArgs e)
{
this.BackColor = Color.Red;
base.OnLeave(e);
}
}
}
アプリを開始して終了する
するとツールボックスにTextBoxExが表示されて、Formへ配置できるようになっている。
おわり
少しハマった