2012-04-17 8 views
0

私は現在、何らかの形で親を失っていて、何も親になっていないカスタムコントロールを持っていますが、まだフォームデザイナーのコントロールのリストにあります。削除ボタンも機能せず、無効になります。これはいつも起こり、デザイナーのコードを通過して手動で削除するという苦痛があります。また、他の開発者が迷惑をかける可能性があり、混乱させるかもしれません。フォームからのコントロールの削除

したがって、フォームから自分自身を削除するために、コントロールのComponentDesigner内にVerbを追加しようとしています。しかし、私はそれが何かに "子ども"ではないので、それが子供のように削除することができないことを認識した。したがって、私はどのようにコードを介してフォームデザイナーからコントロールを削除するつもりですか?

答えて

0

ドキュメントのアウトラインタブで緩いコントロールを見つけて問題を解決しました。この方法は非常に簡単でグラフィカルです。

0
  1. ファイルをバックアップします。

  2. デザイナーファイルを開きます。例えば、Form1.Designer.cs

  3. は、この地域に展開します。Windows Form Designer generated code

  4. あなたはコードでコントロールを見つけ、それを削除することができるはずです。注意してください。

2

これは、コントロールのいずれかがデザイン時に例外をスローするときに発生する可能性があります。それはめったにサイレントイベントではなく、デザイナーはポップアップメッセージボックスを表示します。 try/catchでコード内の例外を飲み込むと、メッセージボックスが表示されないことがあります。

デザイナーをハッキングしてこれを修正しようとすると、問題が増えます。デザイナーのコードを編集して修正してください。何をしているのか分かっていれば大丈夫です。あなたが理由を見つけることができない場合は、それをやや再現性のあるものにすることができます。その後、Visual Studioの別のインスタンスを起動し、ツール+プロセスにアタッチし、最初のインスタンスを選択します。デバッグ+例外の場合は、例外がスローされたときにデバッガが停止するように、CLR例外のThrownボックスにチェックを入れます。

+0

これは私が使用している大規模なサードパーティのコントロールライブラリであり、私は拡張する能力が少ししかありません。 –

+3

あなたは私がその情報で何をしたいのか分かりません。あなたが見た例外について所有者に伝えれば、確かに彼らからの修正をスピードアップするでしょう。 –

関連する問題