Windowsフォームでカスタムコントロールを作成しDLLとして保存する方法
Windowsフォームで最初から用意されているコントロールを拡張したカスタムコントロールを作成し、
他プロジェクトで使用するためにDLLとして保存する方法を書いていきます。
カスタムコントロールの作成
VisualStudioを開き、上部メニューのファイル → 新規作成 → プロジェクトを選択。
クラスライブラリを選択してOKを押下します。
ソリューションの初期状態は上記のようになっていると思います。
初期配置されているClass1.csはいらないので削除します。
プロジェクト名の上で右クリック → 追加 → 新しい項目 をクリックします。
カスタムコントロールを選択します。
右上の検索バーを使用すると簡単に見つけられます。
カスタムコントロールを作成します。
例として、テキストボックスを拡張したカスタムコントロールを作成します。
クリックしたらテキストが全選択状態になるテキストボックスです。
カスタムコントロールのデザイン画面でイベントを作成します。
プロパティのイベントのClickをダブルクリックしましょう。
作成されたイベントの中にthis.SelectAll();を記入し、
クリック時テキストを全選択するようにします。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ClassLibrary1
{
public partial class CustomControl1 : TextBox
{
public CustomControl1()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
}
//クリック時、テキストを全選択する
private void CustomControl1_Click(object sender, EventArgs e)
{
this.SelectAll();
}
}
}
CustomControl1.csのソースを上記のようにすれば完成です。
一度ビルドしましょう。
ビルドすることでDLLが作成されます。
カスタムコントロール(DLL)の使い方
作成したDLLを他プロジェクトで使ってみましょう。
先程のソリューションにWindowsフォームプロジェクトを追加します。
作成したカスタムコントロールをツールボックスに表示させます。
上部メニューのツール → ツールボックスアイテムの選択 をクリックします。
ツールボックスアイテムの選択ダイアログが出てきたら、参照を押下し、作成したDLLを選択します。
.NETFrameworkコンポーネントにカスタムコントロールが追加されたことを確認し、OKを押します。
ツールボックスにカスタムコントロールが配置されました。
さっそく使ってみましょう。
カスタムコントロールをフォームに配置しデバッグします。
テキスト入力後、クリックで全選択されます。
問題なく動作することが確認できました。
まとめ
このやり方に辿りつくまでに結構時間がかかりました。
単純にクラスとして作成し、DLL化してもうまく動かなかったので、
最初からカスタムコントロールとして作成することが重要な気がします。
Windowsフォーム関連記事
- Windowsフォームでバージョン情報を画面タイトルの横に出す
- Windowsフォームのグループボックス・パネルのTabIndex設定方法
- Windowsフォームのコンボボックスのドロップダウンリストの幅の変更方法
- Windowsフォームを常に最前にする方法
- Windowsフォームの表示位置の種類と設定方法
- Windowsフォームにスクロールバーを自動的に表示する方法
- WindowsフォームのDataGridViewでセルに収まりきらなかった文字列を折り返して表示する方法
- WindowsフォームでTabIndexをまとめて並べ替える方法
- Windowsフォームでフォーム上に直線を引く方法
- WindowsフォームのDataGridViewで自動的に行の高さを調整する方法
- WindowsフォームのオブジェクトのIMEの設定
- WindowsフォームのDataGridViewで自動的に列の幅を調整する方法
- Windowsフォームの最大化・最小化の禁止設定
- Windowsフォームのコントロールにタブで遷移できないように設定する方法
- Windowsフォームでカスタムコントロールを作成しDLLとして保存する方法
ディスカッション
コメント一覧
まだ、コメントがありません