C#ウィンドウコントロールのパネルにコントロールを追加することを制限するにはどうすればよいですか? デザイン時にユーザーがパネルにコントロールを追加することを制限する必要があります。
Lalit
質問する
364 次
2 に答える
1
パネルに追加できるコントロールのタイプまたはコントロールの数を制限したい場合は、パネルの独自のサブクラスを作成し、Controls.Add メソッドのオーバーロードでコントロールのタイプまたはコントロールの数を確認できます。
編集: Controls.Add メソッドのオーバーロードは思ったほど簡単ではありませんでしたが、Panel クラスを拡張する新しいクラスを作成し、OnControlAdded メソッドをオーバーライドして、追加されたコントロールの種類を確認できます。このようなものが動作するはずです:
class MyPanel : Panel
{
public MyPanel()
{ }
protected override void OnControlAdded(ControlEventArgs e)
{
base.OnControlAdded(e);
if (!(e.Control is Label))
{
MessageBox.Show("control " + e.Control.Name + " is not a label but a " + e.Control.GetType().ToString());
Controls.Remove(e.Control);
}
}
}
于 2008-10-30T11:59:06.597 に答える
-1
AllowDrop を false に設定します。
于 2008-10-30T11:40:30.033 に答える